Wix burn升级需要卸载MSI和#x27;在升级之前
我有两个微星Wix burn升级需要卸载MSI和#x27;在升级之前,wix,bootstrapper,burn,Wix,Bootstrapper,Burn,我有两个微星framework.msi和product.msi。framework.msi将dll安装到GAC中,product.msi在安装和卸载时都依赖该dll 我创建了一个BA,将两个MSI链接在一起 <Bundle ...> <Chain> <PackageGroupRef Id='framework'/> <PackageGroupRef Id='product'/> </Chain> </Bun
framework.msi
和product.msi
。framework.msi
将dll安装到GAC中,product.msi
在安装和卸载时都依赖该dll
我创建了一个BA,将两个MSI链接在一起
<Bundle ...>
<Chain>
<PackageGroupRef Id='framework'/>
<PackageGroupRef Id='product'/>
</Chain>
</Bundle>
<Fragment>
<PackageGroup Id="framework">
<MsiPackage Name="Product Framework"
ForcePerMachine="yes"
SourceFile="framework.msi"
Vital="yes"
Cache="no"
Permanent="no"
Compressed="yes"
Visible="yes"/>
</PackageGroup>
<PackageGroup Id="product">
<MsiPackage Name="Product"
ForcePerMachine="yes"
SourceFile="product.msi"
Vital="yes"
Cache="no"
Permanent="no"
Compressed="yes"
Visible="yes"/>
</PackageGroup>
</Fragment>
我意识到,如果我们将两个MSI组合成一个大产品,这是可能的,但由于我们将framework.MSI
分散到其他团队,并且由于各种其他原因,它们需要分开
我想用WiX引导程序做的事情可能吗 这在今天的烧伤中是不可能的。链条是固定的。安装时向前运行,卸载时向后运行。我今天可以想到两个选择:
// pseudo code
if(product.Exists() && framework.Exists())
{
product.Uninstall(); // product is dependent on the framework
framework.Uninstall();
}
framework.Install();
product.Install();