【问题标题】:How to uninstall previous Burn package when installing MSI安装 MSI 时如何卸载之前的 Burn 包
【发布时间】:2016-12-21 16:37:05
【问题描述】:

假设我分发了一个带有特定升级代码的 WiX Burn 包(我不知道任何产品代码)。假设我决定继续前进,我想转向 MSI 包。问题是:当我安装 MSI 包时,如何删除以前的 Burn 包?我给了两个相同的升级代码,但 MSI 似乎默认不卸载 Burn。

【问题讨论】:

    标签: wix windows-installer burn


    【解决方案1】:

    您可能需要在 MSI 中编写一个自定义操作,该操作遍历以下所有注册表项:

    HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
    

    并使用静态 UpgradeCode guid 的值搜索注册表值“BundleUpgradeCode”。当您找到它时,读入条目“UninstallString”或“QuietUninstallString”的值。这是您需要执行的命令,以便在安装新的 MSI 之前卸载以前的包。

    警告:如果您卸载旧捆绑包并且新的 MSI 安装程序失败,则此方法不支持回滚。您最终会得到一台没有安装您的任何产品的机器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多