我正在使用wix Bundle来安装Msi的链,当我试图升级旧版本时没有卸载
请帮助我在任何情景下进行操作
答案 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