As a Windows-programmer sooner or later we’ll come at the point, where we need to write our first setup. Be it for a little tool or for a continous-integration with several complex tasks. This tutorial will show you, how to build a solid setup with the WiX Toolset. But WiX is not the only tool you could use, lets have a look at some others as well before we start.
Setup building tools comparison
Each of them has it advantages and disadvantages. Depending on your needs and knowledge you’ll choose one or the other.
Visual-Studio Setup Project
The Visual-Studio Setup is quite easy to create, as you can drag- and drop it together in the IDE. It allows you to add project-outputs, add GUIs to it and also set pre-conditions. Unfortunatly, when the project gets more complex, you’ll soon get out of control.
Is a very powerful tool to create setups, which has almost no limits. Unfortunatly its not free. If thats not a concern for you, go for it. There’s also a free light-version, but its quite restricted, do not use it!
WiX stands for Windows installer XML and was created and used at Microsoft itself! It was the first product of Microsoft released as open-source and can be found on wix.codeplex.com. It is very powerful and gives you great control over the setup. You can use it even for huge projects! Despite you can do almost anything with it, it is not the most easy tool to learn. Nontheless I strongly recommend you to learn it! You’ll be rewarded with a very powerful tool, which can fully leverage the Windows Installer Features!
Windows Installer Features
The WiX Toolset leverages the Windows Installer, which provides some nice features:
- Select features either in GUI or via commandline
- Upgrade/Patch functionality
- Repair functionality
- Provides reliable rollback
- Detailed logging-functionality
This is very exciting, lets get started!