@echo off REM ============================================================ REM ObsiGate Desktop — Build Windows (.msi + .exe) REM Prérequis : Rust, Tauri CLI, NSIS, Python 3.11 embed REM ============================================================ setlocal enabledelayedexpansion echo ======================================== echo ObsiGate Desktop — Build Windows echo ======================================== echo. REM ── 1. Vérifier les prérequis ───────────────────────────────── echo [1/5] Verifying prerequisites... where cargo >nul 2>&1 || (echo ❌ Rust/Cargo not found. Install from https://rustup.rs & exit /b 1) where tauri >nul 2>&1 || cargo install tauri-cli echo ✅ Rust + Tauri OK REM ── 2. Préparer Python 3.11 embed ───────────────────────────── echo [2/5] Preparing Python embed... echo 📥 Downloading Python 3.11 embed... if exist "python-embed" rmdir /s /q "python-embed" curl -L -o python-embed.zip "https://www.python.org/ftp/python/3.11.9/python-3.11.9-embed-amd64.zip" powershell Expand-Archive -Path python-embed.zip -DestinationPath python-embed\ del python-embed.zip REM Enable pip in embedded Python echo import site >> python-embed\python311._pth REM Install dependencies python-embed\python.exe -m pip install --no-cache-dir -r ..\backend\requirements.txt echo ✅ Python embed ready REM ── 3. Build Tauri ──────────────────────────────────────────── echo [3/5] Building Tauri application... cargo tauri build --target x86_64-pc-windows-msvc --bundles msi,nsis if errorlevel 1 ( echo ❌ Build failed! exit /b 1 ) echo ✅ Build successful REM ── 4. Copier le runtime à côté de l'exécutable ─────────────── echo [4/5] Copying runtime to output dir... set "OUTDIR=target\x86_64-pc-windows-msvc\release" if exist "%OUTDIR%\python-embed" rmdir /s /q "%OUTDIR%\python-embed" if exist "%OUTDIR%\backend" rmdir /s /q "%OUTDIR%\backend" xcopy /E /I /Q "python-embed" "%OUTDIR%\python-embed" xcopy /E /I /Q "..\backend" "%OUTDIR%\backend" echo ✅ Runtime copied REM ── 5. Résultats ─────────────────────────────────────────────── echo [5/5] Results: dir /b "%OUTDIR%\bundle\msi\*.msi" 2>nul dir /b "%OUTDIR%\bundle\nsis\*.exe" 2>nul echo. echo ✅ Done! Check %OUTDIR%\bundle\ endlocal