Qt Installer Framework:能否在现有版本上直接安装新版本?
无需卸载直接更新QIFW安装软件的实现方案
用QIFW自带的MaintenanceTool做本地升级
不用依赖在线安装程序也能实现。给新版本打包时生成离线更新包,用户运行MaintenanceTool后选择「Update」选项,指向本地的更新包文件就能直接完成升级,全程不用卸载旧版本。注意打包时要在config.xml里把新版本的version设得比旧版高,组件的名称也要和旧版保持一致,这样工具才能识别是同一个软件。调整安装包配置实现直接覆盖安装
修改QIFW项目的config.xml关键配置即可:- 将
<Installation>节点下的allowNonAsciiCharacters设为true(如果安装路径包含中文或特殊字符) - 新版本的
version字段必须高于旧版本 - 所有组件的
<name>和<displayName>与旧版本完全一致
打包完成后,直接运行新版本安装程序,它会自动检测到已安装的旧版本,提示用户进行升级,无需手动卸载。
- 将
测试阶段的快捷操作
测试时可以用命令行参数跳过交互直接升级,比如:installer.exe --update ./local-update-package添加
--verbose参数还能查看详细安装日志,方便排查问题。
内容的提问来源于stack exchange,提问作者Mathieu Monfort
相关产品推荐
相关产品推荐

