Introduction to WiX

As the name says, a WiX-setup is a set of XMLs, which defines the setup. If you look at the XMLs without any knowledge about how a setup is structured, they look very complicated, so let’s have some basics first! The following diagram shows the structure of a WiX-setup:

Structure of a Windows Installer XML Setup

Each of these parts are defined and linked together within the xml.

In the Product-element we can define our productname, manufacturer, productversion and the setup-language.

During the installation, the user can select which features he’d like to install. In the diagram above he can choose, if he wants to install the program with- or without the documentation.

Components allow logical groups of resources. Examples of components could be the program, a service, a website or global assemblies (GAC).

Resource are the smallest piece of the setup. We can add the following resource-types to our setup:

  • Executables (.exe)
  • Libraries (.dll)
  • Registry-Keys
  • Images/Icons
  • Any other required files..

WiX Toolset

The WiX Toolset has, as the name implies, several tools to build an msi-setup finally. You could run these tools manually from the commandline, or you could build it in Visual Studio.

In the next tutorial we’ll install the WiX-Toolset with Votive (WiX for Visual Studio)!