@echo off setlocal EnableDelayedExpansion cd /d "%~dp0" echo ============================================================ echo MISF Planner Download -- Build EXE echo ============================================================ echo. REM ── 1. Install / upgrade PyInstaller inside the venv ───────────────────── echo [1/4] Ensuring PyInstaller is installed... .venv\Scripts\pip install --quiet --upgrade pyinstaller if %ERRORLEVEL% NEQ 0 ( echo ERROR: pip install pyinstaller failed. Is the venv set up? pause & exit /b 1 ) REM ── 2. Clean previous build artefacts ──────────────────────────────────── echo [2/4] Cleaning previous build... if exist build rmdir /s /q build if exist dist\MISF_Planner_Download rmdir /s /q dist\MISF_Planner_Download REM ── 3. Build ────────────────────────────────────────────────────────────── echo [3/4] Building (this takes 2-5 minutes)... echo. .venv\Scripts\pyinstaller onedrive_planner_http.spec --clean --noconfirm if %ERRORLEVEL% NEQ 0 ( echo. echo ERROR: PyInstaller build failed. Check output above. pause & exit /b 1 ) REM ── 4. Copy Input folder so the exe knows where to read config ──────────── echo. echo [4/4] Copying Input\ folder into dist... if exist Input ( xcopy /E /I /Y "Input" "dist\MISF_Planner_Download\Input" >nul echo Input\ copied. ) else ( echo WARNING: No Input\ folder found -- copy it manually before shipping. ) echo. echo ============================================================ echo BUILD COMPLETE echo. echo Folder : dist\MISF_Planner_Download\ echo Exe : dist\MISF_Planner_Download\MISF_Planner_Download.exe echo. echo TO DEPLOY ON ANOTHER MACHINE: echo 1. Copy the entire dist\MISF_Planner_Download\ folder. echo 2. Make sure Input\input.xlsx is inside that folder. echo 3. Double-click MISF_Planner_Download.exe. echo (First run downloads the browser automatically.) echo ============================================================ echo. pause