Phase 4 剩余三项: - 首次引导向导(setup/first_run + ui/setup_wizard):服务自检(含 C# 助手共存 提示)→ 打印机检测与 HiTi 驱动安装指引(官网链接/重新检测,mac 与 win 文案 分支,允许无打印机完成)→ 开机自启开关 + scheme 注册;侧栏底部常驻设置区 (自启开关 + 重新运行引导) - 开机自启(setup/autostart):mac 写 LaunchAgent(RunAtLoad 一次性,不用 KeepAlive——托盘退出不能被拉回);Windows 走 HKCU Run(reg 命令免 win32 依赖) - URL scheme 闭环:单实例唤醒端口 38210(setup/single_instance)——zaxprint:// 唤起或重复双击启动第二进程时通知常驻实例弹窗后自退,跨平台一致(弃用 app_links 的 mac 事件转发不确定性);Windows 启动时幂等注册 HKCU scheme; 前端 cardPrinter.ts 加 launchAgent()(zaxprint://open),开卡抽屉离线时显示 "启动打印助手"按钮,点击唤起后 1s×6 轮询自动上线(biz 前端改动待用户提交) Phase 5: - tool/package_macos.sh:构建 → ad-hoc 就地签名(--deep,勿加 --options=runtime: hardened runtime 库校验会因 ad-hoc 无 Team ID 拒载 framework,实测踩坑)→ hdiutil dmg;实测产出 22MB dmg + 签名后冒烟通过 - windows/installer.iss:Inno Setup 安装包脚本(快捷方式/桌面图标/开机自启 Tasks/zaxprint scheme 注册与卸载清理/HiTi SDK DLL 随 Release 目录打包) 依赖 +url_launcher +shared_preferences;13 测试全过、analyze 零问题。
53 lines
2.4 KiB
Plaintext
53 lines
2.4 KiB
Plaintext
; 资安信插件助手 Windows 安装包(Inno Setup 脚本)
|
||
; 构建:先在 Windows 上执行 flutter build windows --release,再用 Inno Setup 编译本脚本
|
||
; iscc windows\installer.iss
|
||
; 产物:dist\资安信插件助手-windows-setup.exe
|
||
|
||
#define AppName "资安信插件助手"
|
||
#define AppVersion "1.0.0"
|
||
#define AppExeName "desktop_plugin.exe"
|
||
|
||
[Setup]
|
||
AppId={{8C5B7A42-1F2D-4E6B-9A71-9D3A0F2C7E51}
|
||
AppName={#AppName}
|
||
AppVersion={#AppVersion}
|
||
AppPublisher=zax
|
||
DefaultDirName={autopf}\{#AppName}
|
||
DefaultGroupName={#AppName}
|
||
UninstallDisplayIcon={app}\{#AppExeName}
|
||
OutputDir=..\dist
|
||
OutputBaseFilename=资安信插件助手-windows-setup
|
||
ArchitecturesInstallIn64BitMode=x64compatible
|
||
ArchitecturesAllowed=x64compatible
|
||
Compression=lzma2/max
|
||
SolidCompression=yes
|
||
WizardStyle=modern
|
||
PrivilegesRequired=lowest
|
||
; HiTi PavoApi SDK(PavoApiW_x64.dll 等)由 CMake 构建后自动拷在 Release 目录,随 Files 段一并打包
|
||
|
||
[Languages]
|
||
Name: "chinesesimplified"; MessagesFile: "compiler:Languages\ChineseSimplified.isl"
|
||
|
||
[Tasks]
|
||
Name: "desktopicon"; Description: "创建桌面快捷方式"; GroupDescription: "附加任务:"
|
||
Name: "autostart"; Description: "开机自动启动"; GroupDescription: "附加任务:"; Flags: checkedonce
|
||
|
||
[Files]
|
||
Source: "..\build\windows\x64\runner\Release\*"; DestDir: "{app}"; Flags: recursesubdirs createallsubdirs
|
||
|
||
[Icons]
|
||
Name: "{group}\{#AppName}"; Filename: "{app}\{#AppExeName}"
|
||
Name: "{group}\卸载 {#AppName}"; Filename: "{uninstallexe}"
|
||
Name: "{autodesktop}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Tasks: desktopicon
|
||
|
||
[Registry]
|
||
; zaxprint:// URL scheme(HKCU 用户级,随卸载清理;应用启动时也会幂等注册)
|
||
Root: HKCU; Subkey: "Software\Classes\zaxprint"; ValueType: string; ValueData: "URL:资安信插件助手唤起"; Flags: uninsdeletekey
|
||
Root: HKCU; Subkey: "Software\Classes\zaxprint"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""
|
||
Root: HKCU; Subkey: "Software\Classes\zaxprint\shell\open\command"; ValueType: string; ValueData: """{app}\{#AppExeName}"" ""%1"""; Flags: uninsdeletekey
|
||
; 开机自启(Tasks 勾选时写入)
|
||
Root: HKCU; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "ZaxDesktopPlugin"; ValueData: """{app}\{#AppExeName}"""; Tasks: autostart; Flags: uninsdeletevalue
|
||
|
||
[Run]
|
||
Filename: "{app}\{#AppExeName}"; Description: "立即运行 {#AppName}"; Flags: nowait postinstall skipifsilent
|