[wix-users] Bundle Patching Questions

Nick Elmer NElmer at veriato.com
Tue Feb 23 13:30:28 PST 2021


Hi All,
I am testing out our burn patch strategy prior to a release. My plan is to release at RTM with a base burn bundle that contains two base MSI packages embedded. Looks like this:

BundleRTM
<Chain>
-ServerSetup.msi
-ManagementConsole.msi
</Chain>

Once we release, when we build patch bundles, I want to deliver service pack/minor upgrade patches in a patch bundle like this:
BundlePatch
<Chain>
-ServerSetupPatch.msp
-ManagementConsolePatch.msp
</Chain>

I have successfully tested building a patch bundle and having it apply successfully for my first bundle. However, when rebuilding the product the second time (with a new build number) and generating a new second patch bundle to install over the first, I get the failures about invalid payload like below.

Q1. So my first question is about the "UpgradeCode" and "RelatedBundle" elements. I found examples on the web suggest a bundle code use like 1.0.0 and 1.0.0.1 below. I could not find anything regarding subsequent bundles. Do they look like 1.0.0.2 below?
<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=" CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC " Action="Detect" />
    <RelatedBundle Id="BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB" Action="Patch" />
</Bundle>
<Bundle Version="1.0.0.2" UpgradeCode="DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDD">
    <RelatedBundle Id=" DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDD" Action="Detect" />
    <RelatedBundle Id="BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB" Action="Patch" />
    <RelatedBundle Id=" CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC " Action="Patch" />
</Bundle>

Q2. To supersede a previous patch bundle, is it up to me to handle that in "DetectRelatedBundle" and make its state absent or how do I achieve that?

Q3. Last question Is this. During my second patch bundle install, I see this invalid payload error. Is this a bug in burn or something else I did wrong? (It is usually me!)
Detected related bundle: {76ba0fde_BUNDLE_GUID}, type: Dependent, scope: PerMachine, version: 4.3.0.10465, operation: None
Calculating patch applicability for target product code: { FDBDE766-CONSOLE_GUID}, context: Machine
Detected Package Begin: PackageId:ServerSetupPatch, Result:None
OnDetectPackageComplete.
Detected Package Begin: PackageId:ManagementConsolePatch, Result:None
Detected partially cached package: ManagementConsolePatch, invalid payload: ManagementConsolePatch, reason: 0x80070002
Detected package: ServerSetupPatch, state: Absent, cached: None
Detected package: Veriato360ManagementConsolePatch, state: Present, cached: Partial
Detected package: Veriato360ManagementConsolePatch target: {FDBDE766-CONSOLE_GUID}, state: Present

Thank you all,
Nick



More information about the wix-users mailing list