Advanced Installer 安装前卸载旧版本的办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Advanced Installer 安装前卸载旧版本的办法相关的知识,希望对你有一定的参考价值。
原文:Advanced Installer 安装前卸载旧版本的办法
Advanced Installer这个工具百度出来的资料太少了。
在我们平常打包的工作中,经常遇到的一个问题是,如何能在安装新版本的时候友好的提示/卸载之前的旧版本,而不是粗暴的直接让用户自行去卸载呢?今天就这个问题给出下面一个具体的解决办法,话不多说,直接开始:
方案一:安装时自动卸载旧版本
第一步:找到并记录下上一个版本的Upgrade Code,此Code在上一个工程中的如下位置:
第二步:在新版本中的Upgrade Code要保证和前一版本的此Code一致。
第三步:在Custom Action中增加UninstallPreviousVersions操作。
第四步:保存,打包,就可以了。
讲下原理:UninstallPreviousVersions操作是通过 UpgradeCode来查找旧版本的,所以只要确保新旧版本的UpgradeCode一致(product Code千万不能一致)就可以在安装新版本的时候自动卸载旧版本了。
此方案好处就是简单,没有任何过多的操作,用户也不需要操作就能自动卸载。缺点就是不太友好,用户不能选择是否需要卸载。
方案二:增加友好的用户选择界面,确定后再进行卸载。
这里前面几步和方案一相同,唯一不同的就是在UninstallPreviousVersions操作中,我们加上自己的condition,由此来判断是否需要执行卸载操作。在condition中可以设置自己的对话框变量来保证用户点击确定后才执行,比较简单,就是对方案一的补充,就不细说了。
以上是关于Advanced Installer 安装前卸载旧版本的办法的主要内容,如果未能解决你的问题,请参考以下文章
使用Advanced Installer为LabVIEW生成的exe制作安装程序
ADVANCED INSTALLER 打包安装exe相关问题
mysql-installer-community-8.0.19.0.msi 的安装与卸载