当前位置: 首页 > news >正文

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

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

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


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

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

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

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


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

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

相关文章:

  • 浅谈HTTP和HTTPS
  • LoadRunner(三)再识web_custom_request函数
  • VC++获取不同Windows版本的方法
  • 解决VS2012/VS2013/VS2015下编译的程序无法在XP下运行的问题
  • Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法
  • robot framework-requests库安装过程问题解决
  • Outlook2016创建账户后无法发送和接收邮件的解决办法
  • 在华为服务器 RH 2288H V3上装 windows server 2012 R2的办法
  • 谈谈集成显卡双2K/4K输出的那点事情
  • 在windows server 2012/2016上,任务管理器性能页面增加磁盘监控的办法
  • Advanced Installer,搜索注册表,根据注册表选择安装路径
  • PCI简易通讯控制器驱动的安装办法
  • LoadRunner监控window系统各项指标详解
  • LoadRunner--Analysis各项指标详解
  • Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法
  • 【译】JS基础算法脚本:字符串结尾
  • [数据结构]链表的实现在PHP中
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 07.Android之多媒体问题
  • Centos6.8 使用rpm安装mysql5.7
  • ComponentOne 2017 V2版本正式发布
  • css的样式优先级
  • Django 博客开发教程 16 - 统计文章阅读量
  • es6要点
  • flask接收请求并推入栈
  • k8s如何管理Pod
  • Laravel5.4 Queues队列学习
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • leetcode讲解--894. All Possible Full Binary Trees
  • nginx 配置多 域名 + 多 https
  • passportjs 源码分析
  • 产品三维模型在线预览
  • 工作手记之html2canvas使用概述
  • 聊聊hikari连接池的leakDetectionThreshold
  • 前端面试之CSS3新特性
  • 深度学习在携程攻略社区的应用
  • 说说动画卡顿的解决方案
  • 微信小程序设置上一页数据
  • 想写好前端,先练好内功
  • 移动端高清、多屏适配方案
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #、%和$符号在OGNL表达式中经常出现
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #传输# #传输数据判断#
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (c语言)strcpy函数用法
  • (C语言)二分查找 超详细
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (三)c52学习之旅-点亮LED灯
  • .a文件和.so文件
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例