[wix-users] Patch Only and SlipStream Bundles

Nick Elmer NElmer at veriato.com
Thu Oct 29 07:16:02 PDT 2020

Hi All,
Looking for recommendations on UpgradeCodes as they relate to bundles and patching. This is my first time building a bundle to include slipstream MSP's. Trying to put the puzzle together.

Here is my current setup. Visual Studio Solution with Votive WixProjects that build to produce the following release output.
RTM - Upgrade code will be the default.

  1.  CustomActionDLL
  2.  ProductMSI-A
  3.  ProductMSI-B
  4.  Bundle
Will define a RelatedBundle ID for associating the two bundles below for detection and patch upgrades.

For patching, I will rebuild the solution to generate a new MSI A & B and a new bundle (with a new upgrade code).
My post build scripts will then do an admin extract of RTM and this new build and generate an MSP for both product MSI's using MSIMSP.exe.
Then I believe I need two bundles (Due to offline customers with no internet access). Both bundles will have the files embedded within the bundle exe. I could leave them on disk if that's going to allow me to have a single deliverable reducing the need for Bundle 2 below.
Bundle 1: (Slipstream product install)

  1.  CustomActionDLL
  2.  ProductMSI-A (RTM)
  3.  ProductMSP-A
  4.  ProductMSI-B (RTM)
  5.  ProductMSP-B
  6.  Bundle (Slipstream)

First Question: Does each slipstream patch bundle need a new upgrade code (minor updates)? I plan to release many cumulative service pack bundles which will supersede any previous patches. I know the MSI's upgrade code will not change, but I believe that each bundle will need a new upgrade code? The RelatedBundle code will be the same as defined in RTM and will not change.

For this second bundle, I want to essentially rebuild the bundle with only the MSP's slipstreamed. I am trying to reduce the deliverable size to simplify deployment for patch only scenarios where customers do not have internet access to download the content. Bundle 1 can be quite large with the embedded deliverables, so I'm merely trying to keep the deliverable size small.

Second Question: If I understand right, this bundle will also need a new UpgradeCode defined (Should it be the same as the Slipstream Bundle above or different)?
Bundle 2: (MSP's only installer)

  1.  ProductMSP-A
  2.  ProductMSP-B
  3.  Bundle (PatchOnly)

It seems as though I should be able to build a single bundle to achieve both desired results, but that only seems feasible if both bundles have the files on disk and not embedded in the bundle exe. Am I missing anything, or is my thinking right? My concerns come with the fact that there will be two bundles and having the patch bundle execute on a slipstream install or vice versa may have undesirable results. Having a single deliverable will make life easier, but I'm not sure if that's possible for what I'm trying to achieve!
Thanks in advance!

More information about the wix-users mailing list