- 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>
55 lines
2.0 KiB
XML
55 lines
2.0 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net7.0-windows</TargetFramework>
|
|
<Nullable>enable</Nullable>
|
|
<UseWPF>true</UseWPF>
|
|
<UseWindowsForms>true</UseWindowsForms>
|
|
<ApplicationIcon>Resources\icon.ico</ApplicationIcon>
|
|
<Version>1.0.0</Version>
|
|
<AssemblyVersion>1.0.0.0</AssemblyVersion>
|
|
<FileVersion>1.0.0.0</FileVersion>
|
|
<Company>Dangerous Things</Company>
|
|
<Product>NFC Actions</Product>
|
|
<Description>NFC card reader monitoring and action automation</Description>
|
|
<Copyright>Copyright © 2025 Dangerous Things</Copyright>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
|
<PublishSingleFile>true</PublishSingleFile>
|
|
<SelfContained>true</SelfContained>
|
|
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
|
<PublishReadyToRun>true</PublishReadyToRun>
|
|
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="InputSimulatorCore" Version="1.0.5" />
|
|
<PackageReference Include="PCSC" Version="7.0.1" />
|
|
<PackageReference Include="PCSC.Iso7816" Version="7.0.1" />
|
|
<PackageReference Include="System.Management" Version="9.0.10" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Resource Include="Resources\*.png" />
|
|
<Resource Include="Resources\*.ico" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<None Include="Resources\**\*">
|
|
<Link>Resources\%(RecursiveDir)%(Filename)%(Extension)</Link>
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
|
|
</None>
|
|
</ItemGroup>
|
|
|
|
<Target Name="CopyResourcesOnPublish" AfterTargets="Publish">
|
|
<ItemGroup>
|
|
<ResourceFiles Include="$(ProjectDir)Resources\**\*" />
|
|
</ItemGroup>
|
|
<Copy SourceFiles="@(ResourceFiles)" DestinationFolder="$(PublishDir)Resources\%(RecursiveDir)" SkipUnchangedFiles="true" />
|
|
</Target>
|
|
|
|
</Project>
|