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
Post a Comment