Add project files.

This commit is contained in:
roman
2026-06-05 22:02:32 +02:00
parent f09ad1b7c6
commit 274d607d54
25 changed files with 5462 additions and 0 deletions
+202
View File
@@ -0,0 +1,202 @@
<?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>