作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
在默认情况下,Qt IFW 不支持离线升级。如果将一个程序的新版本安装到其旧版本所在目录,会提示以下错误:
这样一来,要升级程序就只能先手动卸载旧版本,然后才能安装新版本。显然这是一件很麻烦的事情,为了简化这个过程,可以使用覆盖安装。
自动卸载
覆盖安装实现起来并不困难,它只不过是将上述操作“自动化”了而已。即在安装新版本之前,先利用脚本对旧版本进行卸载,而这一步无需用户干预。
至于真正的卸载,我们可以使用 maintenancetool,它是 Qt 中的维护工具,用于添加/更新/删除组件。有关该工具支持的选项,可以通过 -h 来查看: