Files
2026-06-05 22:02:32 +02:00

80 lines
2.8 KiB
Batchfile
Raw Permalink 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.
@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