3) 删除切片/异常前弹确认框(警告图标 + 明确「删除/取消」中文按钮 + 不可撤销提示)。
4) 弹框默认英文 OK/Cancel/Yes/No 全局中文化:
- 安装 Qt 自带 zh_CN 翻译(QMessageBox/QDialogButtonBox/QFileDialog 等标准按钮);加载兼顾
dev(Qt 安装路径)与部署版(exe 旁 translations\)。
- formkit::addDialogButtons 默认按钮 QString()→「确定/取消」(不依赖翻译就位,覆盖自建对话框)。
- 打包脚本补拷 qtbase_zh_CN.qm(windeployqt --no-translations 不带)。
测试:439/439 通过
|
||
|---|---|---|
| .. | ||
| lang | ||
| README.md | ||
| build_installer.ps1 | ||
| geopro.iss | ||
README.md
Geopro Windows 安装包
把已构建的 geopro_desktop 打包成单个 Inno Setup 安装程序(带安装向导、开始菜单/桌面快捷方式、卸载程序,并自动安装 VC++ 运行时)。
一键打包
# 1) 先构建 Release(若尚未构建)
build.bat app
# 2) 打包(默认版本 3.0.0,文件名带当天日期)
powershell -ExecutionPolicy Bypass -File installer\build_installer.ps1
产物:installer\dist\Geopro_Setup_<版本>-<yyyyMMdd>.exe
常用参数
| 参数 | 说明 |
|---|---|
-Version 3.1.0 |
指定版本号(最终文件名 Geopro_Setup_3.1.0-<日期>.exe) |
-Rebuild |
打包前先 build.bat rebuild 干净重编 |
-QtPrefix D:/Qt/6.11.1/msvc2022_64 |
指定 Qt 路径(默认从 CMakePresets.json 解析) |
-SkipDeploy |
跳过 windeployqt(不推荐,仅 staging 已补齐时用) |
打包流程(build_installer.ps1 做了什么)
- stage — 把
build/release/src/app复制到installer/staging,剔除构建产物 (CMakeFiles/、*_autogen/、*.pdb、*.log、*.cmake)。 - windeployqt — 在 staging 上补齐 Qt 运行时缺件:
D3Dcompiler_47.dll、opengl32sw.dll(软件 OpenGL 回退)、WebEngine QML、各类插件。自动绕过已知坑:
qt6advanceddocking.dll名字带qt6前缀会被 windeployqt 误判为 Qt 模块、 去Qt\bin找它而报错中止——脚本临时把它拷进Qt\bin,跑完即删。 - redist — 确保
vc_redist.x64.exe就位(缺则从本机 Visual Studio 复制)。 - ISCC — 调用 Inno Setup 编译
geopro.iss,LZMA2/max 固实压缩,输出到dist/。
安装包行为
- 默认装入
C:\Program Files\Geopro(需管理员权限)。 - 仅在系统未安装 VC++ 2015-2022 x64 运行时时,静默安装
vc_redist.x64.exe。 - 创建开始菜单项;桌面快捷方式为可选项(默认不勾)。
- 程序日志/配置写入
%LOCALAPPDATA%\Geomative\Geopro3,与安装目录解耦。 - 向导支持简体中文 / 英文。
前置依赖(打包机)
| 工具 | 获取方式 |
|---|---|
| Inno Setup 6 | winget install --id JRSoftware.InnoSetup -e |
| Qt 6.11.1 (msvc2022_64) | 含 windeployqt.exe,已是构建依赖 |
| Visual Studio 2022/2026 (C++) | 提供 vc_redist.x64.exe,已是构建依赖 |
仓库内/生成物
入库(打包工具本体):
geopro.iss— Inno Setup 脚本build_installer.ps1— 一键打包工具lang/ChineseSimplified.isl— 向导简体中文语言包README.md
不入库(每次生成,见 .gitignore):
staging/— 临时部署副本redist/— 复制来的vc_redist.x64.exedist/— 最终安装包