Saturday, October 20, 2007

WiX Your Way to Installer Happiness

John Robbins' Blog - WiX: Hints for New Users (Part 1 of 3)


While there are many third party applications, commercial and free, available to developers, I want to focus on a free tool, Windows Installer XML (WiX), which I've been using to build my installations for the last couple of years. By the way, WiX was Microsoft's first real open source project. I must make the disclaimer right up front that I am certainly not an installation expert. Like nearly everyone reading this, I'm just a developer (and sometimes project manager) who wanted the installs to be part of the code right from the beginning.

If you're worried that you have a complicated application and WiX might not be able to handle it, rest assured. WiX has been used to build some installations that you've used in the past. A few small applications such as Microsoft Office 2007, Microsoft SQL Server 2005, and Microsoft Visual Studio 2005/2008 are a small sample. WiX is the installation tool of choice inside Microsoft.

In the first part of a three part series, I want to discuss resources and hints for those of you who have not used WiX before. In the second part, I want to cover one of the biggest problems with WiX which is that it doesn't make life easy during development when binaries and supporting files are in a state of flux. This is especially true in web applications where user interface designers are adding and removing files, such as .JPG images, that aren't really under the developer's control. WiX currently forces you into a model of huge amounts of time spent manually editing the installation files. In the final part of the series, I want to present a tool I wrote that solves those problems and which has definitely taken the time spent working on my installations from days to minutes when dealing with rapidly changing projects.


John Robbins' Blog - WiX: The Pain of WiX (Part 2 of 3)

"In the first part of this series I gave an introduction to WiX. In this second installment of this three part series, I am assuming that you've read through the Windows Installer documentation and through Gábor Deák Jahn's WiX Tutorial. Additionally, I'm assuming that you've written a simple installation using WiX so you've read about or used TALLOW.EXE, which is the tool for creating WiX fragments.

If your installation is only three or four files you can create your .WXS file by hand and have no troubles at all. Where things get more difficult is if you are dealing with an application that has hundreds if not thousands of files, and you are adding and removing files during the throes of development. As I mentioned previously, a web application with its myriad of .JPG and other static files suffers from this problem. The prospect of creating a .WXS file, a portion of which is shown below, for thousands of files starts to sound like a three week task of tedious manual editing.


Sorry about that title. It's a Saturday, what can I say? :)

One of these days I'm actually going to get off my butt and play with WiX... Of course I've only been saying that for over three years now.  :|


Related Past Post XRef:
WixTrim - WiX Designer (with C# 2 Source)
Windows Installer XML (WiX) toolset has released as Open Source on

No comments: