【发布时间】:2017-11-08 15:46:34
【问题描述】:
我使用Purely WiX approach to making patches 并试图让一个 MSP 为 2 个不同的 MSI 工作。 我有 v1.1 MSI 和 v1.2 MSI,并计划使用 v1.2 MSI 创建 MSP,以便 MSP 可用于 v1.1 和 v1.2。
我设置了Validate/@ProductId='no',正如它的描述所说:
要求安装的 ProductCode 与目标 ProductCode 匹配 用于创建变换。默认为“是”。
但是,它仅适用于 v1.2。到目前为止,我能够工作的唯一方法是添加 2 TargetProductCode/@Id,如下所示。
这是Validate/@ProductId 的错误吗?或者这是正确的做法吗?
<Media Id="5000" Cabinet="RTM.cab" >
<PatchBaseline Id="RTM" >
<Validate ProductId='no' ProductLanguage='no' ProductVersion="Update" ProductVersionOperator='LesserOrEqual' UpgradeCode='no' />
</PatchBaseline>
</Media>
<!-- Why do I need this when Validate/@ProductId='no'? -->
<TargetProductCodes Replace='no'>
<TargetProductCode Id='{xxx}' />
<TargetProductCode Id='{xxx}' />
</TargetProductCodes>
<PatchFamilyRef Id="myRollup"/>
有a same question,但都没有工作。
【问题讨论】:
标签: wix windows-installer patch