niumasoftware/build_installer.bat
2026-04-07 23:21:58 +08:00

68 lines
1.7 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
chcp 65001 >nul
setlocal enabledelayedexpansion
REM 一键打包PyInstaller -> dist\niumasoftware -> 生成 Inno 脚本 -> (可选) 编译安装包
REM 需要:
REM - Python + PyInstallerpip install pyinstaller
REM - Inno Setup可选用于自动编译 .iss
cd /d "%~dp0"
echo.
echo === Clean old build artifacts ===
if exist "build" rmdir /s /q "build"
if exist "dist" rmdir /s /q "dist"
echo.
echo === Build main app (onedir) ===
python -m PyInstaller --noconfirm --onedir --name niumasoftware --windowed ^
--icon "logo.ico" ^
--add-data "assets;assets" ^
--add-data "logo.png;." ^
main.py
if errorlevel 1 goto :fail
echo.
echo === Build update helper (onefile -> dist\niumasoftware) ===
python -m PyInstaller --noconfirm --onefile --name update_helper --console --distpath dist\niumasoftware ^
--icon "logo.ico" ^
update_helper.py
if errorlevel 1 goto :fail
echo.
echo === Generate Inno Setup script with AppVersion ===
python installer\build_installer.py
if errorlevel 1 goto :fail
echo.
echo === (Optional) Compile installer via ISCC.exe ===
set "ISCC="
if exist "%ProgramFiles(x86)%\Inno Setup 6\ISCC.exe" set "ISCC=%ProgramFiles(x86)%\Inno Setup 6\ISCC.exe"
if exist "%ProgramFiles%\Inno Setup 6\ISCC.exe" set "ISCC=%ProgramFiles%\Inno Setup 6\ISCC.exe"
if not defined ISCC (
echo ISCC.exe not found, skip compiling installer.
echo You can compile: installer\niumasoftware.generated.iss
goto :ok
)
echo Using ISCC: "%ISCC%"
"%ISCC%" "installer\niumasoftware.generated.iss"
if errorlevel 1 goto :fail
:ok
echo.
echo === Done ===
echo dist\niumasoftware\niumasoftware.exe
echo dist\niumasoftware\update_helper.exe
echo installer\niumasoftware.generated.iss
echo.
exit /b 0
:fail
echo.
echo Build failed.
exit /b 1