Creating a MSI patch (.msp) by hand?

Jerry Chong picture Jerry Chong · Mar 19, 2010 · Viewed 15.3k times · Source

Our team has recently been considering pushing out a minor registry fix to users to modify one particular problematic key. Pretty straightforward stuff, just needed to update 1 key/value inside the registry.

So at the moment, we are using Wix to build .msi installers for the product. While looking into Wix's support for generating .msp patch files, it seems that the only way to create an .msp is a somewhat overcomplicated multi-step process to:

  1. Get a copy of the original MSI, and compile a new copy of the fixed MSI
  2. Write a new Wix file that points to both installers
  3. Compile the Wix file into a .wixobj with Candle to a .psp
  4. Run Torch/Pyro over before/after snapshots of the original installers and the .psp, or alternatively using MsiMsp.exe

Now my question is, can't I simply describe the registry change into a Wix file and directly compile it into the .msp, without step 1 and 4 - which is a huge amount of effort for just a simple change?

Answer

Ed. picture Ed. · Mar 19, 2010

No. A patch is the delta of two installable images. To generate the delta, even if the difference is very small, you will need both images.