Files
jiu/deploy/windows/jiu-installer.iss
T
wangjia d8c0bd74d2 feat(client): 应用内更新(Windows/macOS 下载安装,Web 刷新)
- 新增 lib/core/update/:app_updater(入口+进度对话框) + io/web 条件实现
  - Windows: Dio 下载 setup.exe(无 MOTW) -> 启动安装包 -> 退出,规避浏览器
    SmartScreen 下载页与运行时拦截
  - macOS: 下载 zip -> ditto 解压 -> 后台脚本等退出后替换 /Applications 内
    app 并重启(权限失败回退访达高亮)
  - Web: 刷新页面;其它平台回退浏览器下载
- app_shell 更新 banner/强制更新弹窗、设置页「立即更新」改走应用内更新
- 设置页「检查更新」加反馈(正在检查/已是最新/发现新版本/失败)
- jiu-installer.iss 加 CloseApplications=yes 便于覆盖

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 09:04:26 +08:00

58 lines
1.9 KiB
Plaintext

; Inno Setup script for 岩美酒库 Windows 客户端
; Compiled in CI:
; ISCC /DAppVer=<ver> "/DSrcDir=<ReleaseDir>" "/DOutDir=<dist>" jiu-installer.iss
; Produces: <OutDir>\jiu-windows-x64-setup.exe
#ifndef AppVer
#define AppVer "0.0.0"
#endif
#ifndef SrcDir
#define SrcDir "."
#endif
#ifndef OutDir
#define OutDir "."
#endif
#define MyAppName "岩美酒库"
#define MyAppExe "jiu_client.exe"
#define MyAppPublisher "岩美"
[Setup]
AppId={{A3F5C1E2-9B47-4D8A-B6E0-2C1D4F8A9E33}
AppName={#MyAppName}
AppVersion={#AppVer}
AppPublisher={#MyAppPublisher}
DefaultDirName={autopf}\Jiu
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
OutputDir={#OutDir}
OutputBaseFilename=jiu-windows-x64-setup
Compression=lzma2
SolidCompression=yes
WizardStyle=modern
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64
UninstallDisplayName={#MyAppName}
UninstallDisplayIcon={app}\{#MyAppExe}
; 应用内更新时本应用会先退出再启动安装包;这些选项确保能顺利覆盖。
CloseApplications=yes
RestartApplications=no
; 说明:未声明 [Languages],使用 Inno Setup 内置英文向导(简体中文语言文件
; ChineseSimplified.isl 默认不随 Inno Setup 安装,依赖它会导致编译找不到文件)。
; app 名称与快捷方式仍为中文(下方 UTF-8 字符串,与向导语言无关)。
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkedonce
[Files]
Source: "{#SrcDir}\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs ignoreversion
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExe}"
Name: "{group}\卸载 {#MyAppName}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExe}"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExe}"; Description: "{cm:LaunchProgram,{#MyAppName}}"; Flags: nowait postinstall skipifsilent