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

<xml/>

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

Preprocessor

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 ?>