203 lines
8.5 KiB
XML
203 lines
8.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!--
|
||
WiX v5 installer for BoxPacker3D
|
||
Build: run build-wix.bat
|
||
Requires: dotnet SDK (WiX installed automatically as dotnet tool)
|
||
-->
|
||
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
|
||
xmlns:netfx="http://wixtoolset.org/schemas/v4/wxs/netfx"
|
||
xmlns:ui="http://wixtoolset.org/schemas/v4/wxs/ui">
|
||
|
||
<Package Name="BoxPacker3D"
|
||
Language="1033"
|
||
Version="1.0.0"
|
||
Manufacturer="BoxPacker3D"
|
||
UpgradeCode="73799267-8F2E-4994-AE60-A0CFA8390BEE"
|
||
Scope="perMachine"
|
||
Codepage="65001">
|
||
|
||
<SummaryInformation Description="BoxPacker3D – 3D bin-packing application" />
|
||
|
||
<MajorUpgrade DowngradeErrorMessage="Novšia verzia [ProductName] je už nainštalovaná." />
|
||
<MediaTemplate EmbedCab="yes" />
|
||
|
||
<!-- Require .NET 9 Windows Desktop Runtime (x64) -->
|
||
<netfx:DotNetCompatibilityCheck Property="DOTNETDESKTOP9_OK"
|
||
RuntimeType="desktop"
|
||
Platform="x64"
|
||
Version="9.0.0"
|
||
RollForward="latestMinor" />
|
||
<Launch Condition="DOTNETDESKTOP9_OK"
|
||
Message="Táto aplikácia vyžaduje .NET 9.0 Windows Desktop Runtime (x64). Stiahnite ho z: https://dotnet.microsoft.com/download/dotnet/9.0" />
|
||
|
||
<!-- Install-dir UI with optional launch checkbox -->
|
||
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1" />
|
||
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Spustiť BoxPacker3D" />
|
||
<ui:WixUI Id="WixUI_InstallDir" InstallDirectory="INSTALLFOLDER" />
|
||
|
||
<!-- Launch app after install when checkbox is ticked -->
|
||
<CustomAction Id="LaunchApp"
|
||
FileRef="BoxPacker3D_exe"
|
||
ExeCommand=""
|
||
Execute="immediate"
|
||
Impersonate="yes"
|
||
Return="asyncNoWait" />
|
||
<InstallExecuteSequence>
|
||
<Custom Action="LaunchApp" After="InstallFinalize"
|
||
Condition="WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 AND NOT Installed" />
|
||
</InstallExecuteSequence>
|
||
|
||
<Feature Id="Main" Title="BoxPacker3D" Level="1">
|
||
<ComponentGroupRef Id="AppFiles" />
|
||
<ComponentRef Id="Comp_Shortcut_StartMenu" />
|
||
<ComponentRef Id="Comp_Shortcut_Desktop" />
|
||
</Feature>
|
||
</Package>
|
||
|
||
<!-- ── Directory structure ─────────────────────────────────────────────── -->
|
||
<Fragment>
|
||
<StandardDirectory Id="ProgramFilesFolder">
|
||
<Directory Id="INSTALLFOLDER" Name="BoxPacker3D" />
|
||
</StandardDirectory>
|
||
<StandardDirectory Id="ProgramMenuFolder">
|
||
<Directory Id="StartMenuDir" Name="BoxPacker3D" />
|
||
</StandardDirectory>
|
||
<StandardDirectory Id="DesktopFolder" />
|
||
</Fragment>
|
||
|
||
<!-- ── Application files (from: dotnet publish -r win-x64) ───────────── -->
|
||
<Fragment>
|
||
<ComponentGroup Id="AppFiles" Directory="INSTALLFOLDER">
|
||
|
||
<!-- Main executable -->
|
||
<Component Id="Comp_MainExe">
|
||
<File Id="BoxPacker3D_exe"
|
||
Source="publish\win-x64\BoxPacker3D.exe"
|
||
KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_MainDll">
|
||
<File Source="publish\win-x64\BoxPacker3D.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_DepsJson">
|
||
<File Source="publish\win-x64\BoxPacker3D.deps.json" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_RuntimeConfig">
|
||
<File Source="publish\win-x64\BoxPacker3D.runtimeconfig.json" KeyPath="yes" />
|
||
</Component>
|
||
|
||
<!-- OpenTK managed assemblies -->
|
||
<Component Id="Comp_OTK_Audio">
|
||
<File Source="publish\win-x64\OpenTK.Audio.OpenAL.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_Compute">
|
||
<File Source="publish\win-x64\OpenTK.Compute.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_Core">
|
||
<File Source="publish\win-x64\OpenTK.Core.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_Gfx">
|
||
<File Source="publish\win-x64\OpenTK.Graphics.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_Input">
|
||
<File Source="publish\win-x64\OpenTK.Input.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_Math">
|
||
<File Source="publish\win-x64\OpenTK.Mathematics.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_WinForms">
|
||
<File Source="publish\win-x64\OpenTK.WinForms.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_WndCom">
|
||
<File Source="publish\win-x64\OpenTK.Windowing.Common.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_WndDsk">
|
||
<File Source="publish\win-x64\OpenTK.Windowing.Desktop.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_OTK_GLFW">
|
||
<File Source="publish\win-x64\OpenTK.Windowing.GraphicsLibraryFramework.dll" KeyPath="yes" />
|
||
</Component>
|
||
|
||
<!-- SQLite managed assemblies -->
|
||
<Component Id="Comp_SQLiteData">
|
||
<File Source="publish\win-x64\Microsoft.Data.Sqlite.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_SQLiteRawBat">
|
||
<File Source="publish\win-x64\SQLitePCLRaw.batteries_v2.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_SQLiteRawCore">
|
||
<File Source="publish\win-x64\SQLitePCLRaw.core.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_SQLiteRawProv">
|
||
<File Source="publish\win-x64\SQLitePCLRaw.provider.e_sqlite3.dll" KeyPath="yes" />
|
||
</Component>
|
||
|
||
<!-- Native DLLs (placed to root by dotnet publish -r win-x64) -->
|
||
<Component Id="Comp_Glfw3">
|
||
<File Source="publish\win-x64\glfw3.dll" KeyPath="yes" />
|
||
</Component>
|
||
<Component Id="Comp_Sqlite3">
|
||
<File Source="publish\win-x64\e_sqlite3.dll" KeyPath="yes" />
|
||
</Component>
|
||
|
||
<!-- Config – overwrite on reinstall -->
|
||
<Component Id="Comp_AppSettings">
|
||
<File Source="publish\win-x64\appsettings.json" KeyPath="yes" />
|
||
</Component>
|
||
|
||
<!-- Seed database – copied to %AppData%\BoxPacker3D\ on first run by the app.
|
||
Installed here as read-only template; user data lives in AppData. -->
|
||
<Component Id="Comp_ItemsDb">
|
||
<File Source="publish\win-x64\items.db" KeyPath="yes" />
|
||
</Component>
|
||
|
||
</ComponentGroup>
|
||
</Fragment>
|
||
|
||
<!-- ── Start-menu shortcut ────────────────────────────────────────────── -->
|
||
<Fragment>
|
||
<DirectoryRef Id="StartMenuDir">
|
||
<Component Id="Comp_Shortcut_StartMenu">
|
||
<Shortcut Id="StartMenuShortcut"
|
||
Name="BoxPacker3D"
|
||
Description="3D Box Packer – aplikácia pre 3D balenie kusov"
|
||
Target="[INSTALLFOLDER]BoxPacker3D.exe"
|
||
WorkingDirectory="INSTALLFOLDER"
|
||
Icon="BoxPacker3D_ico"
|
||
IconIndex="0" />
|
||
<RemoveFolder Id="CleanStartMenuDir" On="uninstall" />
|
||
<RegistryValue Root="HKCU"
|
||
Key="Software\BoxPacker3D"
|
||
Name="StartMenu"
|
||
Type="integer" Value="1"
|
||
KeyPath="yes" />
|
||
</Component>
|
||
</DirectoryRef>
|
||
</Fragment>
|
||
|
||
<!-- ── Desktop shortcut ───────────────────────────────────────────────── -->
|
||
<Fragment>
|
||
<StandardDirectory Id="DesktopFolder">
|
||
<Component Id="Comp_Shortcut_Desktop">
|
||
<Shortcut Id="DesktopShortcut"
|
||
Name="BoxPacker3D"
|
||
Description="3D Box Packer – aplikácia pre 3D balenie kusov"
|
||
Target="[INSTALLFOLDER]BoxPacker3D.exe"
|
||
WorkingDirectory="INSTALLFOLDER"
|
||
Icon="BoxPacker3D_ico"
|
||
IconIndex="0" />
|
||
<RegistryValue Root="HKCU"
|
||
Key="Software\BoxPacker3D"
|
||
Name="Desktop"
|
||
Type="integer" Value="1"
|
||
KeyPath="yes" />
|
||
</Component>
|
||
</StandardDirectory>
|
||
</Fragment>
|
||
|
||
<!-- ── Icon ───────────────────────────────────────────────────────────── -->
|
||
<Fragment>
|
||
<Icon Id="BoxPacker3D_ico" SourceFile="publish\win-x64\BoxPacker3D.exe" />
|
||
</Fragment>
|
||
|
||
</Wix>
|