Windows Installer
Unrestricted access to Windows Installer functionality!
Open Source
Open source!


Plain XML based source scripts!
Free, no strings attached!
Build Automation
Command-line interface for automated application build process!
Thriving community support!
Why WiX?


In general computer terms, a preprocessor is a program that processes its input data to produce output that is used as input to another program.

You may need to add different pieces of your source code during build time depending on many factors. A preprocessor helps achieving that objective.

WiX also has a preprocessor that uses conditional statements to filter the xml code before it is sent to the WiX compiler (candle). If the statement evaluates to true, the block of xml will be sent to candle. If the statement evaluates to false, candle will never see that section of xml.

Files can be included by using the include tag.
In the following example wix code, the filename referenced in the tag will be processed as if it were part of this file only if the MySku environment variable is set to Enterprise.

<?if $(env.MySku) = Enterprise ?>
  <?include EnterpriseFeature.wxs ?>
<?endif ?>