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