• 修改visual studio setup 安装顺序(解决新版安装包无法自动移除老版本程序的问题)


    背景

    visual studio setup 支持自动删除之前版本的安装,需要设置RemovePreviousVersions = true, DetectNewerInstalledVersion = true.

    VS2005生成的新安装包会调用之前的版本安装包的卸载然后再安装

    e.g.

    1.0.1 开始安装

    1.0.0 Uninstall

    1.0.1 Install

    VS2008后更改了安装顺序,变为安装更新和覆盖后卸载老版本,且要检测dll的file version如果是更新的才会覆盖,如果不是会忽略(这有个坑,要注意的,如果修改代码了结果没改文件版本会导致安装后还是用的老版本的dll)

    新版的安装顺序变化会导致比如想自定义action,在安装之前做自定义操作(比如:停止service)会失败,因为安装完成后才会执行BeforeInstall.

    解决办法

    使用orca修改安装包顺序, 方法如下:

    1. 打开msi安装包,选择InstallExecuteSequence,查看InstallValidate和InstallInitialize的sequence,如下:1400和1500,

    2. 往下找到RemoveExistingProducts,修改sequence为InstallValidate和InstallInitialize之间的数字:1450

    3. 保存设置即可

     
    作者:qidong
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Java中静态字段和静态方法
    Java抽象方法、抽象类以及接口
    Java单例模式
    java继承
    java构造方法
    java方法
    Java常量与变量
    Java初识
    1
    补码,反码,加减法运算,类型取值范围
  • 原文地址:https://www.cnblogs.com/qidong/p/11050601.html
Copyright © 2020-2023  润新知