; 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}\SchoolMeal 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 UninstallDisplayIcon={app}\app.ico VersionInfoVersion=1.0.0.0 VersionInfoCompany=学校食堂管理 VersionInfoDescription=学校订餐菜单生成器安装程序 VersionInfoProductName=学校订餐菜单生成器 VersionInfoProductVersion=1.0.0 MinVersion=10.0.17763 SetupLogging=yes UninstallLogMode=append UsePreviousAppDir=no UsePreviousGroup=no UsePreviousSetupType=no [Languages] Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" Name: "english"; MessagesFile: "compiler:Default.isl" [Tasks] Name: "desktopicon"; Description: "创建桌面快捷方式"; GroupDescription: "附加选项:"; Flags: checkedonce Name: "startupicon"; Description: "开机自动启动"; GroupDescription: "附加选项:"; Flags: unchecked [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"; WorkingDir: "{app}"; IconFilename: "{app}\app.ico" Name: "{group}\卸载 学校订餐菜单生成器"; Filename: "{uninstallexe}"; WorkingDir: "{app}"; IconFilename: "{app}\app.ico" Name: "{autodesktop}\学校订餐菜单生成器"; Filename: "{app}\school-meal.exe"; WorkingDir: "{app}"; Tasks: desktopicon; IconFilename: "{app}\app.ico" Name: "{userstartup}\学校订餐菜单生成器"; Filename: "{app}\school-meal.exe"; WorkingDir: "{app}"; Tasks: startupicon; 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; function ShouldSkipPage(PageID: Integer): Boolean; begin Result := False; end;