What I use WiX for Today

In a recent blog, Holger asked the question:

“With regard to your automation framework…what for do you make use of WiX (instead of using IS)?”

First a little humor. I’m guessing what many would really say ask is:

“OMG, the big trolling WiX hater actually uses WiX? Has hell frozen over? What do you do with WiX?”

I’m working on an SOA product line that has about 40 builds/installs… micropackages in a sense. I have an InstallShield `common installer` that has a feature tree of all of our known features and product configurations of all of our packages. This allows me to build the different installs while attempting code reuse in the only way InstallShield can really do it. Fragments would be helpful here.

All of my custom actions are written in C# using DTF. This includes the ability to publish SQL services reports using a series of custom tables. ( This needs to be refactored into a WiX extension pattern and possibly shared with the community. )

The features reference merge modules. For some assets where the developer has told me they don’t want to worry about setup, I use InstallShield merge modules. For other features where the developer wants to play a role in setup development (rare), I use WiX merge modules.

These products are built individually because they intend to release to QA/PROD that way when servicing. There is also a bootstrapper in the works that will join all of these products together to allow for a variety of setup stores ( site datalayer, site application layer, central datalayer, central datalayer, client 1, client 2 and also sql server reporting services reports ).

Along the lines of red, green, refactor… I’m at green right now. Eventually when better designer tools and bootstrappers are available I’ll start refactoring the remaining InstallShield components to WiX fragments. The problem is WiX just isn’t there yet IMO and it doesn’t make good business sense to do it yet.

InstallShield might be taking away the SAB and raising prices and generally not caring about customers but I’ll still get a few years out of IS2009. One day though, WiX will eventually be the answer. Who knows, maybe InstallShield will find a way to stay in that world.