Advanced Installer 安装前卸载旧版本的办法

简介: 原文:Advanced Installer 安装前卸载旧版本的办法 Advanced Installer这个工具百度出来的资料太少了。 在我们平常打包的工作中,经常遇到的一个问题是,如何能在安装新版本的时候友好的提示/卸载之前的旧版本,而不是粗暴的直接让用户自行去卸载呢?今天就这个问题给出下面一个具体的解决办法,话不多说,直接开始: 方案一:安装时自动卸载旧版本 第一步:找到并记录下上一个版本的Upgrade Code,此Code在上一个工程中的如下位置: 第二步:在新版本中的Upgrade Code要保证和前一版本的此Code一致。
原文: Advanced Installer 安装前卸载旧版本的办法

Advanced Installer这个工具百度出来的资料太少了。

在我们平常打包的工作中,经常遇到的一个问题是,如何能在安装新版本的时候友好的提示/卸载之前的旧版本,而不是粗暴的直接让用户自行去卸载呢?今天就这个问题给出下面一个具体的解决办法,话不多说,直接开始:


方案一:安装时自动卸载旧版本

第一步:找到并记录下上一个版本的Upgrade Code,此Code在上一个工程中的如下位置:
这里写图片描述
第二步:在新版本中的Upgrade Code要保证和前一版本的此Code一致。
第三步:在Custom Action中增加UninstallPreviousVersions操作。
这里写图片描述
第四步:保存,打包,就可以了。

讲下原理:UninstallPreviousVersions操作是通过 UpgradeCode来查找旧版本的,所以只要确保新旧版本的UpgradeCode一致(product Code千万不能一致)就可以在安装新版本的时候自动卸载旧版本了。

此方案好处就是简单,没有任何过多的操作,用户也不需要操作就能自动卸载。缺点就是不太友好,用户不能选择是否需要卸载。


方案二:增加友好的用户选择界面,确定后再进行卸载。

这里前面几步和方案一相同,唯一不同的就是在UninstallPreviousVersions操作中,我们加上自己的condition,由此来判断是否需要执行卸载操作。在condition中可以设置自己的对话框变量来保证用户点击确定后才执行,比较简单,就是对方案一的补充,就不细说了。

目录
相关文章
|
Ubuntu 虚拟化
VMWare Tools没有正确安装或者版本过低导致的
VMWare Tools没有正确安装或者版本过低导致的
594 2
|
4月前
|
Perl
解决Cocoapods重装或更新后版本不生效的问题
解决Cocoapods重装或更新后版本不生效的问题
53 1
|
7月前
|
并行计算 Ubuntu
Ubuntu16.04升级到18.04--检查更新时出现问题--解决方法
Ubuntu16.04升级到18.04--检查更新时出现问题--解决方法
118 0
升级Window10版本到20H2报错VirtualBox不兼容问题解决方法
升级Window10版本到20H2报错VirtualBox不兼容问题解决方法
201 0
升级Window10版本到20H2报错VirtualBox不兼容问题解决方法
升级macOS10.13.6 (17G65),cocoapods不能正常使用的解决办法
升级macOS10.13.6 (17G65),cocoapods不能正常使用的解决办法
841 0
|
Windows
Windows Installer服务总是自动关闭导致无法安装在win10上安装英伟达显卡驱动的解决方案
你可以依次点击“开始→程序→附件→命令提示符”,键入:msiexec /unregister, 然后再键入msiexec /regserver。应该就能解决。 更多的参考:How to Start/Stop Windows Installer service Win+R 输入 msconfig 后可以自行改变启动选项。
3896 0