Peter Marcu posted a couple of items on his blog recently that I wanted to link to here so hopefully more folks will see them. The first is a high-level description of new patching features that have been added to WiX v3.0 over the past few months. You can find the post at http://blogs.msdn.com/pmarcu/archive/2007/06/16/wix-building-a-patch-using-the-new-patch-building-system-part-2.aspx. It briefly introduces the old and new ways to create patches using WiX.
The second is a really nice example of how to create a patch using the new features in WiX v3.0. You can find this blog post at http://blogs.msdn.com/pmarcu/archive/2007/06/28/sample-patch.aspx. To summarize Peter's post, the following are the steps that can be used to create your first patch:
- Create your initial product layout file/folder structure
- Create a new copy of the product layout (called an upgrade layout) with patched files included in it
- Create a WXS file that can be used to build an MSI for the product layout in steps 1 and 2 above
- Create a WXS file that can be used to build an MSP for the patch
- Build a .wixout and .msi file for the initial product layout using Candle and Light
- Build a .wixout (and optionally a .msi file) for the upgrade product layout using Candle and Light
- Create a .wixmst (transform) file for the differences between the 2 layouts using Torch
- Build a .msp (patch) file that will apply to the .msi file created in step 5 using Candle, Light and Pyro
If you are a setup developer interested in creating patches for your MSI-based installers, I encourage you to check out Peter's blog posts for more detailed information about how to use new features in WiX v3.0 to create patches.
<update date="7/17/2007"> Updated step 7 to indicate that the output file is a .wixmst file and not a standard Windows Installer .mst file </update>