patch - WiX Bundle: Patches for 1.0.0 are not removed from Programs & Features when bundle 2.0.0 is installed -


there 3 bundles, code listed below. 1.0.0, 1.0.0.1, , 2.0.0.

if 1.0.0, 1.0.0.1, , 2.0.0 installed, view installed updates still have 1.0.0.1 listed installed. remain there until last version uninstalled.

<wix xmlns="http://schemas.microsoft.com/wix/2006/wi">   <bundle name="burn installer" version="1.0.0" manufacturer="lansa" upgradecode="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" copyright="..." abouturl="...">     <bootstrapperapplicationref id="wixstandardbootstrapperapplication.rtflicense" />     <chain>       <msipackage id="mainpackage" sourcefile="testlist_v1.0.0_en-us.msi" vital="yes" displayinternalui="yes" />     </chain>   </bundle> </wix>  <wix xmlns="http://schemas.microsoft.com/wix/2006/wi">   <bundle name="patch 1.0.0.1" parentname="burn installer" version="1.0.0.1" manufacturer="lansa" upgradecode="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" copyright="..." abouturl="...">     <relatedbundle id="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" action="patch"/>          <bootstrapperapplicationref id="wixstandardbootstrapperapplication.rtflicense" />     <chain>       <msppackage id="patch" sourcefile="testlist_v1.0.0.1_en-us.msp" vital="yes" displayinternalui="no" permachine="yes" permanent="no"/>     </chain>   </bundle> </wix>   <wix xmlns="http://schemas.microsoft.com/wix/2006/wi">   <bundle name="burn installer" version="2.0.0" manufacturer="lansa" upgradecode="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" copyright="..." abouturl="...">     <bootstrapperapplicationref id="wixstandardbootstrapperapplication.rtflicense" />     <chain>       <msipackage id="mainpackage" sourcefile="testlist_v2.0.0_en-us.msi" vital="yes" displayinternalui="yes" />     </chain>   </bundle> </wix> 

when upgrade applied, prior versions , patches should delisted programs , features and/or view installed updates. same occur when msi/msp directly installed rather through bundler.

the answer wix 3.9 , later follows...

in major upgrade bundles upgradecode must match. "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" in example below.

in patch bundles upgrade code must unique, unrelated other guid used in bundle. "cccccccc-cccc-cccc-cccc-cccccccccccc" in example.

in major upgrade bundles relatedbundle must unique. guid used in patches major upgrade. "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" in example.

these settings ensure major upgrades listed in programs , features , patches listed in view installed updates.

<bundle version="1.0.0" upgradecode="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa">     <relatedbundle id="bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" action="detect" /> </bundle> <bundle version="1.0.0.1" upgradecode="cccccccc-cccc-cccc-cccc-cccccccccccc">     <relatedbundle id="bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" action="patch" /> </bundle> <bundle version="2.0.0" upgradecode="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa">     <relatedbundle id="dddddddd-dddd-dddd-dddd-dddddddddddd" action="detect" /> </bundle> 

Comments