我已经使用 wix 创建了安装程序。现在我想为它打补丁。我成功创建了补丁 1,它将示例 exe 更改为另一个 exe,并将产品版本号从 1.0.0.0 增加到 1.0.0.1。直到这个它工作正常。
现在我想要第二个补丁,它会做一些小的改动。只有安装了补丁 1 并将版本更改为 1.0.0.2 时,才应安装此补丁。
我指的是本教程http://wix.tramontana.co.hu/tutorial/upgrades-and-modularization/patchwork
现在问题是我的第二个补丁正在改变它应该做的事情。但是即使补丁 1 是未安装。
注意:
1> 产品代码/升级代码在所有 3 个基线中都相同。
2> 第一个、第二个和第三个基线的版本号不同,例如第一个基线为 1.0.0.0,第二个为 1.0.0.1,第三个为 1.0.0.2
补丁 1 代码:
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<Patch AllowRemoval="yes" Manufacturer="NSS" MoreInfoURL="www.abcdxyz.com"
DisplayName="NSS 1.0.0.1" Description="Small Update Patch" Classification="Update">
<Media Id='5000' Cabinet='Sample.cab'>
<PatchBaseline Id='Sample'/>
</Media>
<PatchFamily Id='SamplePatchFamily' Version='1.0.0.1'>
<PropertyRef Id="ProductVersion"/>
<ComponentRef Id='NSSTestAPP'/>
</PatchFamily>
</Patch>
</Wix>
补丁 2 代码:
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<Patch AllowRemoval="yes" Manufacturer="NSS" MoreInfoURL="www.abcdxyz.com"
DisplayName="NSS 1.0.0.2" Description="Small Update Patch" Classification="Update">
<Media Id='5000' Cabinet='Sample.cab'>
<PatchBaseline Id='Sample'/>
</Media>
<PatchFamily Id='SamplePatchFamily' Version='1.0.0.2'>
<PropertyRef Id="ProductVersion"/>
<ComponentRef Id = 'NSSTestAPP'/>
<ComponentRef Id = 'TestDll'/>
</PatchFamily>
</Patch>
</Wix>
请帮助解决问题。