Files
BoxPacker3D/BoxPacker3D.wxs
T
2026-06-05 22:02:32 +02:00

203 lines
8.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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).&#13;&#10;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>