Visual Studio打包(Windows Installer),你不知道的RemovePreviousVersions 属性

用MS VS打包程序,有个细节有点坑爹

写出来给大家看看

一般来说MSDN都这么解释

RemovePreviousVersions 属性的设置如下所示:

设置

说明

False

安装程序不检查是否有早期版本。

True

安装程序检查是否有早期版本;一经发现,便会立即将其卸载。


但实际上:

指定安装程序在安装期间是否移除应用程序的早期版本。如果此属性设置为 True,并且在安装时检测到了早期版本,则将调用以前版本的卸载功能。

安装程序检查“UpgradeCode”“ProductCode”属性,以确定是否应移除早期版本。新旧两种版本的 UpgradeCode 必须相同;ProductCode 必须不同。

如果已在应用程序的安装项目中同时设置了安装和卸载自定义操作,而且已在 Visual Studio 2005 中启用了“RemovePreviousVersions”属性,则会在升级过程中卸载产品的早期版本。不过,此行为在 Visual Studio 2008 中做了如下更改:

在 Visual Studio 2005 中,当从 v1.0.0 升级到 v1.0.1 时,按如下方式调用自定义操作:

v1.0.0 custom action Uninstall()

v1.0.1 custom action Install()

在 Visual Studio 2008 中,不会调用卸载操作,如下所示:

v1.0.1 custom action Install()

如果创建了依赖于旧行为的自定义操作,则需要针对新行为修改您的代码。此行为更改只影响更新,不影响卸载。


所以,你要是用VS2008的话,RemovePreviousVersions 怎么设都没用。


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值