如何让一个补丁针对具有不同产品代码的多个MSI?

时间:2015-01-21 16:39:36

标签: wix windows-installer installshield

我有一个产品的64位和32位MSI版本。为了将这些版本视为独立产品,例如,不会在32位版本MSI上意外应用64位补丁,反之亦然,我为它们分配了不同的产品代码。但是,我还希望能够有一个适用于32位和64位的补丁 - 因为我所有补丁都是dll和偶尔的exe。

我目前正在使用InstallShield构建未压缩的MSI,但是使用WiX PatchCreation进行修补。我尝试使用

<TargetProductCode Id="*"/>
然而,这并没有改变我的行为。目前,我得到the upgrade patch cannot be installed..the program to be upgraded may be missing..这是有道理的。

解决此问题的最佳做法是什么?我应该只在两个32位和64位版本之间使产品代码相同吗?

1 个答案:

答案 0 :(得分:1)

32位MSP只能修补32位MSI。 64位相同。是的,我会为两个安装程序提供不同的UpgradeCode和ProductCodes。如果您希望补丁看起来像1补丁,您可以将其包装在Burn引导程序中。用户将运行EXE并将应用正确的补丁。