第10086个小白头像
关注
Flutter 桌面端打包方式(Inno Setup Compiler)进阶封面图

Flutter 桌面端打包方式(Inno Setup Compiler)进阶

Flutter 桌面端打包方式(Inno Setup Compiler)进阶

自己手写 .iss 脚本文件,再用编译器执行脚本打包
可以实现什么功能
“无感知静默装壳 + 深链协议唤起 + 装完自动续装目标软件” 三个核心能力,把安装 / 卸载 / 建快捷方式等所有交互 UI 都外包给了 Flutter 程序本身,Inno 只当了一个安静的搬运工和协议注册器。

目录结构为
├── build/
│ └── windows/x64/runner/Release/ ← 打包原料(flutter build 产物)
│
├── static/
│ └── favicon.ico ← 安装包图标
│
└── installer/
├── app_installer.iss ← 打包脚本(放这)
└── Output/ ← 自动生成,无需手建
└── AppStoreSetup.exe ← 最终产物

以下是我写的整个项目的iss文件,可直接取需要的参数

; ============================================================
; 应用商店 Inno Setup 打包脚本(零 UI 静默壳方案)
;
; 设计思路:Inno 不显示任何向导页(自定义安装/卸载界面全部由
; Flutter 程序自己承担):
;   1. 双击 setup.exe → Inno 静默解压到中转目录
;      %LOCALAPPDATA%\AppStoreSetup(窗口移出屏幕,用户无感知)
;   2. [Run] 以 --install 参数拉起 flutter_pc.exe → Flutter 安装页
;   3. Flutter 安装页负责:自定义目录选择、复制文件到目标目录、
;      写 HKCU 卸载注册表(UninstallString = flutter_pc.exe --uninstall)、
;      建桌面/开始菜单快捷方式、写 installed.marker
;   4. 控制面板卸载 → flutter_pc.exe --uninstall → Flutter 卸载页
;
; 使用方法:
;   1. 先执行  flutter build windows --release
;   2. 用 Inno Setup Compiler 打开本脚本,点 Build(或命令行
;      ISCC.exe installer\app_installer.iss)
;   3. 产物输出在 installer\Output\AppStoreSetup.exe
; ============================================================

; ---- 编译期常量(相当于 C 语言的 #define,脚本里用 {#名称} 引用)----
; 应用显示名称(会用于 AppName、开始菜单名等)
#define MyAppName "应用商店"
; 应用版本号(发版时记得和 pubspec.yaml 保持一致)
#define MyAppVersion "1.1.3"
; 主程序文件名(脚本多处引用,统一维护这一处)
#define MyAppExeName "flutter_pc.exe"

; ================================================

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/weixin_71893790/article/details/167390085

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--