AutoUpdate
AutoUpdate 简介
AutoUpdate是基于QT的通用桌面程序自动升级更新解决方案。
QT版本
5.15.X
开发工具
Qt Creator
后端接口配置格式
后端接口配置为json格式文件,这里保存的文件名为auto_upgrade.json,可自定义。
1 | { |
其中:
- version为数字版本号(用于版本识别);
- versionStr为显示的版本号;
- type为更新模式,1表示更新指定文件(即是filelist字段内容,此时zipurl可为空),2表示压缩包方式更新,压缩包为zip压缩(此时filelist可为[]);
- mainAppName是主程序名称,更新完毕后会自动启动主程序;
- zipurl压缩包地址,type为2时候有效,必须为zip格式压缩;
- filelist 是指定文件更新方式,其中path为空或/ 表示主目录,有具体目录名称表示子目录(子目录勿加/)
压缩包内容示例(dist是待压缩的目录):
1 | dist |
本程序相关配置
- 版本号文件为version.dat二进制文件,只记录数字版本号,写入版本号示例代码(写入版本号10010):
1 | QString configFilePath = QDir::currentPath()+"/update/version.dat"; |
- 后端配置地址,位于当前目录的setting.ini文件内的upgrade节点,如:
1 | [upgrade] |
发布
Windows环境打包
- 用Release模式运行一遍;
- 在Build directory目录下的dist目录中会生成autoUpgrader.exe可执行文件;
- 打开QT命令行(开始菜单里面/QT下),进入dist目录;
- 执行:windeployqt autoUpgrader.exe