@echo off setlocal EnableDelayedExpansion echo ================================================ echo BoxPacker3D – Build MSI Installer (WiX v5) echo ================================================ echo. REM ── 1. Check / install WiX v5 dotnet tool ──────────────────────────────── where wix.exe >nul 2>&1 if errorlevel 1 ( echo [1/5] Instalaacia WiX v5 ako dotnet tool... dotnet tool install --global wix --version "5.*" if errorlevel 1 ( echo CHYBA: Nepodarilo sa nainštalovat WiX. Uistite sa, ze je nainštalovany .NET SDK. pause & exit /b 1 ) echo. ) else ( echo [1/5] WiX je nainštalovany. OK ) REM ── 2. Ensure required WiX extensions are installed ────────────────────── echo [2/5] Kontrola WiX rozšírení... wix extension add "WixToolset.UI.wixext/5.0.2" --global 2>nul wix extension add "WixToolset.Netfx.wixext/5.0.2" --global 2>nul wix extension add "WixToolset.Util.wixext/5.0.2" --global 2>nul echo. REM ── 3. Build the application (Release) ─────────────────────────────────── echo [3/5] Build BoxPacker3D (Release)... dotnet build BoxPacker3D.csproj -c Release -v minimal if errorlevel 1 ( echo CHYBA: Build aplikacie zlyhał! pause & exit /b 1 ) echo. REM ── 4. Publish win-x64 (framework-dependent, only win-x64 native DLLs) ── echo [4/5] Publish pre win-x64... if exist publish\win-x64 rmdir /s /q publish\win-x64 dotnet publish BoxPacker3D.csproj -c Release -r win-x64 --self-contained false -o publish\win-x64 -v minimal if errorlevel 1 ( echo CHYBA: Publish zlyhał! pause & exit /b 1 ) REM Verify expected native DLLs are present if not exist "publish\win-x64\glfw3.dll" ( echo UPOZORNENIE: glfw3.dll nebol najdeny v publish\win-x64\ echo Skuste: dotnet publish -r win-x64 --self-contained true ) if not exist "publish\win-x64\e_sqlite3.dll" ( echo UPOZORNENIE: e_sqlite3.dll nebol najdeny v publish\win-x64\ ) echo. REM ── 5. Build MSI ────────────────────────────────────────────────────────── echo [5/5] Kompilujem MSI... if not exist bin mkdir bin wix build BoxPacker3D.wxs ^ -o bin\BoxPacker3D.Setup.msi ^ -ext WixToolset.UI.wixext ^ -ext WixToolset.Netfx.wixext ^ -ext WixToolset.Util.wixext if errorlevel 1 ( echo. echo CHYBA: Build MSI zlyhał! Skontrolujte chybove spravy vyššie. pause & exit /b 1 ) echo. echo ================================================ echo HOTOVO: bin\BoxPacker3D.Setup.msi echo ================================================ echo. explorer /select,"%~dp0bin\BoxPacker3D.Setup.msi" pause