zoukankan      html  css  js  c++  java
  • 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 怎么设都没用。

  • 相关阅读:
    JDK源码阅读--AbstractStringBuilder
    JDK源码阅读--String
    JDK源码阅读--Object
    linux查看日志
    velocity 相关
    oracle Trigger
    ssm调用后台oracle存储过程统计分析数据
    oracle 优化相关
    synchronized 控制并发(活动秒杀)
    SpringBoot自动装配的原理
  • 原文地址:https://www.cnblogs.com/bdstjk/p/3048427.html
Copyright © 2011-2022 走看看