Add release build configuration and MSI installer
- Configure self-contained, single-file release build - Add version and company metadata to project - Fix Assembly.Location for single-file compatibility (use AppContext.BaseDirectory) - Add Resources folder copy to publish output - Create WiX installer project with Product.wxs - Configure auto-start via HKCU Run registry key - Add build-release.ps1 PowerShell script for automated builds - MSI installer installs to %LOCALAPPDATA%\DangerousThings\NFC Actions - Creates Start Menu shortcut - Automatically starts application on user login 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
101
Installer/Product.wxs
Normal file
101
Installer/Product.wxs
Normal file
@@ -0,0 +1,101 @@
|
||||
<?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.0.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" />
|
||||
|
||||
<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" />
|
||||
<ComponentRef Id="ApplicationShortcut" />
|
||||
<ComponentRef Id="AutoStartRegistry" />
|
||||
</Feature>
|
||||
|
||||
<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>
|
||||
|
||||
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
|
||||
<Component Id="MainExecutable" Guid="D4E5F6A7-B8C9-4D8E-1F2A-3B4C5D6E7F8A">
|
||||
<File Id="NfcActionsExe"
|
||||
Source="..\NfcActions\bin\Release\net7.0-windows\win-x64\publish\NfcActions.exe" />
|
||||
<RegistryValue Root="HKCU"
|
||||
Key="Software\DangerousThings\NfcActions"
|
||||
Name="MainExe"
|
||||
Type="integer"
|
||||
Value="1"
|
||||
KeyPath="yes"/>
|
||||
<RemoveFolder Id="RemoveINSTALLFOLDER" Directory="INSTALLFOLDER" On="uninstall" />
|
||||
<RemoveFolder Id="RemoveCompanyFolder" Directory="CompanyFolder" On="uninstall" />
|
||||
</Component>
|
||||
|
||||
<Component Id="ResourcesFolder" Guid="E5F6A7B8-C9D0-4E9F-2A3B-4C5D6E7F8A9B">
|
||||
<File Id="IconIco" Source="..\NfcActions\bin\Release\net7.0-windows\win-x64\publish\Resources\icon.ico" />
|
||||
<RegistryValue Root="HKCU"
|
||||
Key="Software\DangerousThings\NfcActions"
|
||||
Name="Resources"
|
||||
Type="integer"
|
||||
Value="1"
|
||||
KeyPath="yes"/>
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
|
||||
</Product>
|
||||
</Wix>
|
||||
Reference in New Issue
Block a user