What is Wix, and why should you use it?

[In this article, Wix refers to Windows Installer XML, and not to the website service wix.com]

If you’ve written a Windows application that you plan on deploying, you should consider building an installer for it to simplify said deployment. And if you are indeed building an installer, there’s a pretty good chance you are going to use Wix.

For those that don’t know, Wix (Windows Installer XML) is a useful tool that helps you utilize the capabilities of Windows Installer using “simplified” XML-based code. It lets you do a lot of nice things just by writing XML, and it even has a number of extensions that give you access to extra functionality also using just XML.

To name a few:

Wix IIS extension allows you to perform a number of IIS related tasks like creating a website entry, an application pool, or even adding ISAPI filters.

WixFirewallExtension is for configuring Windows Firewall.

The Wix Bal extension lets you write a standard or custom bootstrapper application that can be used to bundle multiple MSIs and EXEs into one single package, and present a custom installer UI for the user (think Microsoft Office’s installer which bundles Word, Excel, etc).

And of course there will always be some function you want to perform that is not covered in Wix – no problem, you can use a custom action to set an environment variable, call an external executable, or even run your own code (such as C#).

For more information on Wix check out the toolset’s home page: http://wixtoolset.org/

Tags: , ,