WiX

Burn, baby. Burn.

This is the blog post I've been wanting to write for a couple years. The WiX Toolset finally installs via Burn in WiX v3.6. The install is ugly and buggy but it's functional. I would not recommend installing WiX v3.6 right now unless you're willing to dig into the source code to figure out what's going on. And there is a lot going on, let's take a look at some of the highlights.

  • WPF UI - the UI provided by the Windows Installer is so limiting, I wanted complete freedom to experiment with Burn. Heath Stewart did a nice job building building a managed interop layer for Burn which enabled me to easily create a WPF UI. I was amazed how much I could do in less than 1,500 lines of code. For example check out: wix36\src\Setup\UX\InstallationViewModel.cs

  • NETFX4 Pre-req - since the installation UI is managed, the .NET Framework must be installed first. Turns out we can use Burn to install NETFX before launching the managed UI to install the rest of the packages. There is still a bit of work to do here (for example, I only support NETFX4) but soon this will be a seamless reusable experience for anyone wanting to drive Burn via managed code.

  • Quick Launch - you might notice that the Wix36.exe is ~360K. The small size provides a quick download then launch experience which is significantly better than what the 25M Wix36.msi provides. Of course, you still have to download the 25M but with Burn you don’t have to wait and watch for it because the download will go straight into the install.

Getting all this together over the long Labor Day weekend feels like a huge milestone for Burn. There are a couple large work items remaining (like MSP support and transaction boundaries) that I expect will keep Burn very unstable for the next month. After that, we’ll focus on bugs and address the many fit-n-finish issues.

In the meantime, keep coding. You know I am!