Major Improvements: - Implement exclusive card access with retry logic and exponential backoff - Fix Type 4 NDEF length parsing (now correctly reads NTAG424 and similar chips) - Add enhanced card type detection (Type 2 vs Type 4) - Implement chunked reading for large NDEF messages - Add proper TLV parsing for Type 2 tags Bug Fixes: - Fix WPF window lifecycle issue (visual tree error on reopen) - Fix NDEF length parsing incorrectly detecting extended format - Correct data offset for Type 4 tag reading New Features: - Multi-line log selection and copy to clipboard - Context menu with Copy Selected Lines, Copy All, Select All - Runtime version roll-forward support (.NET 8.0.x compatibility) Technical Details: - Type 4 tags now use correct 2-byte NLEN field per NFC Forum spec - Removed incorrect 3-byte extended length detection - Window now hides instead of closing for proper tray app behavior - Connection attempts exclusive access first, falls back to shared mode - Status timeout increased from 0ms to 1000ms for better card detection
118 lines
4.8 KiB
XML
118 lines
4.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
<Product Id="*"
|
|
Name="NFC Actions"
|
|
Language="1033"
|
|
Version="1.0.3.0"
|
|
Manufacturer="Dangerous Things"
|
|
UpgradeCode="A1B2C3D4-E5F6-4A5B-8C9D-0E1F2A3B4C5D">
|
|
|
|
<Package InstallerVersion="200"
|
|
Compressed="yes"
|
|
InstallScope="perUser"
|
|
Description="NFC Actions - NFC card reader monitoring and automation"
|
|
Comments="Visit dangerousthings.com for more information" />
|
|
|
|
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
|
|
<MediaTemplate EmbedCab="yes" />
|
|
|
|
<!-- Suppress ICE validation warnings for per-user installation -->
|
|
<Property Id="DISABLEADVTSHORTCUTS" Value="1" />
|
|
<Property Id="MSIINSTALLPERUSER" Value="1" />
|
|
|
|
<!-- Launch application after installation -->
|
|
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch NFC Actions" />
|
|
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
|
|
<Property Id="WixShellExecTarget" Value="[#NfcActionsExe]" />
|
|
<CustomAction Id="LaunchApplication"
|
|
BinaryKey="WixCA"
|
|
DllEntry="WixShellExec"
|
|
Impersonate="yes" />
|
|
|
|
<Icon Id="ProductIcon" SourceFile="..\NfcActions\Resources\icon.ico" />
|
|
<Property Id="ARPPRODUCTICON" Value="ProductIcon" />
|
|
<Property Id="ARPHELPLINK" Value="https://dangerousthings.com" />
|
|
<Property Id="ARPURLINFOABOUT" Value="https://dangerousthings.com" />
|
|
|
|
<Feature Id="ProductFeature" Title="NFC Actions" Level="1">
|
|
<ComponentGroupRef Id="ProductComponents" />
|
|
<ComponentGroupRef Id="HarvestedFiles" />
|
|
<ComponentRef Id="ApplicationShortcut" />
|
|
<ComponentRef Id="AutoStartRegistry" />
|
|
</Feature>
|
|
|
|
<UI>
|
|
<!-- Use WixUI_Minimal without license page -->
|
|
<UIRef Id="WixUI_InstallDir" />
|
|
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
|
|
|
|
<!-- Skip the license page -->
|
|
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="2">1</Publish>
|
|
<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">1</Publish>
|
|
|
|
<Publish Dialog="ExitDialog"
|
|
Control="Finish"
|
|
Event="DoAction"
|
|
Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
|
|
</UI>
|
|
|
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
<Directory Id="LocalAppDataFolder">
|
|
<Directory Id="CompanyFolder" Name="DangerousThings">
|
|
<Directory Id="INSTALLFOLDER" Name="NFC Actions" />
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<Directory Id="ProgramMenuFolder">
|
|
<Directory Id="ApplicationProgramsFolder" Name="NFC Actions"/>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<DirectoryRef Id="ApplicationProgramsFolder">
|
|
<Component Id="ApplicationShortcut" Guid="B2C3D4E5-F6A7-4B6C-9D0E-1F2A3B4C5D6E">
|
|
<Shortcut Id="ApplicationStartMenuShortcut"
|
|
Name="NFC Actions"
|
|
Description="NFC card reader monitoring and automation"
|
|
Target="[INSTALLFOLDER]NfcActions.exe"
|
|
WorkingDirectory="INSTALLFOLDER"
|
|
Icon="ProductIcon" />
|
|
<RemoveFolder Id="CleanUpShortCut" Directory="ApplicationProgramsFolder" On="uninstall"/>
|
|
<RegistryValue Root="HKCU"
|
|
Key="Software\DangerousThings\NfcActions"
|
|
Name="installed"
|
|
Type="integer"
|
|
Value="1"
|
|
KeyPath="yes"/>
|
|
</Component>
|
|
</DirectoryRef>
|
|
|
|
<DirectoryRef Id="INSTALLFOLDER">
|
|
<Component Id="AutoStartRegistry" Guid="C3D4E5F6-A7B8-4C7D-0E1F-2A3B4C5D6E7F">
|
|
<RegistryValue Root="HKCU"
|
|
Key="Software\Microsoft\Windows\CurrentVersion\Run"
|
|
Name="NFC Actions"
|
|
Type="string"
|
|
Value=""[INSTALLFOLDER]NfcActions.exe""
|
|
KeyPath="yes"/>
|
|
</Component>
|
|
</DirectoryRef>
|
|
|
|
<!-- Registry and cleanup component -->
|
|
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
|
|
<Component Id="RegistryEntries" Guid="D4E5F6A7-B8C9-4D8E-1F2A-3B4C5D6E7F8A">
|
|
<RegistryValue Root="HKCU"
|
|
Key="Software\DangerousThings\NfcActions"
|
|
Name="Installed"
|
|
Type="integer"
|
|
Value="1"
|
|
KeyPath="yes"/>
|
|
<RemoveFolder Id="RemoveINSTALLFOLDER" Directory="INSTALLFOLDER" On="uninstall" />
|
|
<RemoveFolder Id="RemoveCompanyFolder" Directory="CompanyFolder" On="uninstall" />
|
|
</Component>
|
|
</ComponentGroup>
|
|
|
|
<!-- Harvested files will be included from HarvestedFiles.wxs -->
|
|
|
|
</Product>
|
|
</Wix>
|