如何卸载以前的版本并使用Wix Bundle安装最新版本

时间:2016-04-19 08:02:35

标签: wix bootstrapper burn

我正在使用wix Bundle来安装Msi的链,当我试图升级旧版本时没有卸载

请帮助我在任何情景下进行操作

  1. 如何在安装最新版本之前卸载以前的版本
  2. 始终升级到最新版本,在我的情况下,它可以是主要版本或次要版本或补丁版本

2 个答案:

答案 0 :(得分:2)

还有更多它只是卸载。首先让我们来看看你的版本。捆绑包本身有版本,每个msis都有自己的版本。我希望当有升级时间时你必须升级整个软件包而不单独检查每个软件包,这可能会让它更容易一些。所以现在,每个MSI应该具有Product > Upgrade属性集并且具有Upgrade节点。值应该相同。 Bundle应该具有属性UpgradeCode。这应该足以让您卸载以前的版本并安装新版本。

现在,如果要在UI中显示某些内容,可以转到引导程序应用程序并订阅各种Detect事件。有一些与升级有关。

这是支持更新的MSI:

<Product Id="*" Name="$(var.ProductName)" Language="1033" Version="1.0.0.5" Manufacturer="$(var.Manufacturer)" Upgrade="GUID_HERE">
<Package InstallerVersion="450" Compressed="yes" InstallScope="perMachine" />
<Upgrade Id="SAME_GUID_HERE"/>

烧伤:

<Bundle Name="$(var.ProductName)"
   Version="1.0.0.5"
   Manufacturer="$(var.Manufacturer)"
   UpgradeCode="ANOTHER_GUID"

因此,一旦您安装了包含GUID的软件包,下一个版本将检测(使用GUID)该产品已安装并将进行升级。

答案 1 :(得分:0)

通过这种方式,我可以阻止多个引导程序窗口的出现。最终,没有程序出现,我们只看到Msi。 https://stackoverflow.com/a/62262418/12267227