代码之家  ›  专栏  ›  技术社区  ›  Matthew

如何才能强制进行主要升级,使其不使用旧安装包切换到维护模式?

  •  0
  • Matthew  · 技术社区  · 6 年前

    我有一个安装程序,我想用它进行重大升级。我已完成以下操作:

    • 增加版本号(从A.B.C增加到A.B.C+1)
    • 更改了产品代码
    • 保持相同的升级代码
    • 在升级表中创建了适当的条目
    • 已更改现有组件的组件ID
    • 已更改安装程序包的名称
    • 已更改包代码

    基本上,我已经尽了我所能强迫MSI将其作为主要升级。

    但是,当我尝试安装这个新软件包时,安装程序日志显示“产品已注册:进入维护模式”,并继续尝试查找旧的安装程序文件(失败,因为新安装程序位于与原始安装不同的文件夹中,甚至没有我想发生的事)。

    我错过了什么?为什么安装程序会立即切换到维护模式而不是执行主要升级?

    谢谢!

    编辑:使其成为社区wiki的一部分

    1 回复  |  直到 15 年前
        1
  •  0
  •   Brian    15 年前

    事实证明,这是由于Visual Studio的WISE安装程序插件中的错误造成的。显然,它会感到困惑,并开始向作为构建的一部分生成的所有.msi包提供相同的包代码(不管.wsi文件中的包代码如何)。