Files
school-meal/school-meal-setup.iss
T
Chunyu d7553520ce feat: 现代化翻页组件 + 完整项目更新
- 新增 Pagination 通用组件:首页/上一页/页码/下一页/末页导航
- PickModal 和 SwapModal 集成分页功能,每页20项
- 搜索/筛选切换自动回到第1页
- 现代化CSS样式:hover浮起动效、主色高亮、移动端适配
- 新增 dashboard、admin 管理模板
- 菜系(cuisine)模型和迁移
- 构建脚本 build.py 支持 PyInstaller 打包
- 前端资源重新构建
2026-08-28 13:44:21 +08:00

82 lines
2.9 KiB
Plaintext

; Inno Setup script for 学校订餐菜单生成器
; Build with: iscc school-meal-setup.iss
; Prerequisites: Inno Setup 6.x (https://jrsoftware.org/isinfo.php)
;
; This script packages the PyInstaller output (dist/school-meal/) into a
; standard Windows installer with Start Menu shortcuts and uninstall support.
[Setup]
AppId={{B7E3A4F1-5D92-4C8A-9F6E-2A1B3C4D5E6F}
AppName=学校订餐菜单生成器
AppVersion=1.0.0
AppPublisher=学校食堂管理
AppPublisherURL=
DefaultDirName={autopf}\学校订餐菜单生成器
DefaultGroupName=学校订餐菜单生成器
OutputDir=installer
OutputBaseFilename=学校订餐菜单生成器-安装包
SetupIconFile=app.ico
Compression=lzma2/ultra64
SolidCompression=yes
WizardStyle=modern
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
ArchitecturesAllowed=x64compatible
ArchitecturesInstallIn64BitMode=x64compatible
CloseApplications=force
RestartApplications=no
DisableProgramGroupPage=yes
UninstallDisplayIcon={app}\app.ico
LicenseFile=
[Languages]
Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "创建桌面快捷方式"; GroupDescription: "附加选项:"; Flags: checkedonce
[Files]
; Main executable
Source: "dist\school-meal\school-meal.exe"; DestDir: "{app}"; Flags: ignoreversion
; Database template (always updated — user data lives in %LOCALAPPDATA%)
Source: "dist\school-meal\db.sqlite3"; DestDir: "{app}"; Flags: ignoreversion uninsneveruninstall
; All runtime dependencies
Source: "dist\school-meal\_internal\*"; DestDir: "{app}\_internal"; Flags: ignoreversion recursesubdirs createallsubdirs
; Application icon (referenced by shortcuts and uninstall)
Source: "app.ico"; DestDir: "{app}"; Flags: ignoreversion
[Icons]
Name: "{group}\学校订餐菜单生成器"; Filename: "{app}\school-meal.exe"; IconFilename: "{app}\app.ico"
Name: "{group}\卸载 学校订餐菜单生成器"; Filename: "{uninstallexe}"; IconFilename: "{app}\app.ico"
Name: "{autodesktop}\学校订餐菜单生成器"; Filename: "{app}\school-meal.exe"; Tasks: desktopicon; IconFilename: "{app}\app.ico"
[Run]
Filename: "{app}\school-meal.exe"; Description: "启动 菜单生成器"; Flags: nowait postinstall skipifsilent
[Code]
// Check if school-meal is already running before install/uninstall
function InitializeSetup: Boolean;
var
ResultCode: Integer;
begin
Result := True;
Exec('taskkill', '/F /IM school-meal.exe', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
function InitializeUninstall: Boolean;
var
ResultCode: Integer;
begin
Result := True;
Exec('taskkill', '/F /IM school-meal.exe', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
function PrepareToInstall(var NeedsRestart: Boolean): String;
var
ResultCode: Integer;
begin
Result := '';
Exec('taskkill', '/F /IM school-meal.exe', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;