- Qbs Manual
- Module wix
- Qbs 1.6.0

# Module wix

The `wix` module contains properties and rules for building MSI and EXE setup packages with the Windows Installer XML Toolset.

This module is available on all platforms.

## General Properties

Property | Type | Since | Default | Description
--- | --- | --- | --- | ---
debugInformation | `bool` | 1.2 | `qbs.debugInformation` | Generate debug information. See `qbs.debugInformation`.
defines | `stringList` | 1.2 | `undefined` | List of preprocessor macros that get passed to the compiler. To set macro values use the following syntax: `wix.defines: ["USE_COLORS=1", 'COLOR_STR="blanched almond"']`
enableQbsDefines | `bool` | 1.2 | `true` | Whether to define preprocessor macros corresponding to values from the project and product objects. When building a 64-bit package, the preprocessor variable `Win64` will also be defined.
visualStudioCompatibility | `bool` | 1.2 | `true` | Passes most of the same preprocessor macros to the compiler as Visual Studio does. This allows easier authoring WiX files that are compatible with both Qbs and MSBuild.
includePaths | `pathList` | 1.2 | `undefined` | List of include paths. Relative paths are considered to be relative to the .qbs product file they are used in.
treatWarningsAsErrors | `bool` | 1.2 | `false` | Warnings will be handled as errors and cause the build to fail.
warningLevel | `string` | 1.2 | `"normal"` | Severity of warnings to emit. The higher the level, the more warnings will be shown. Possible values include: `"none"`, `"normal"`, `"pedantic"`
verboseOutput | `bool` | 1.2 | `false` | Whether to display verbose output from the compiler and linker.
compilerFlags | `stringList` | 1.2 | `undefined` | Additional flags for the Candle compiler.
linkerFlags | `stringList` | 1.2 | `undefined` | Additional flags for the Light linker.
cultures | `stringList` | 1.2 | `undefined` | List of localizations to include in the MSI. Use `undefined` to include all localizations.
extensions | `stringList` | 1.2 | `["WixBalExtension"]` if the product type is an EXE setup application, otherwise `undefined`. | List of extension assemblies to link into the output. Possible values include: `"WixBalExtension"`, `"WixComPlusExtension"`, `"WixDependencyExtension"`, `"WixDifxAppExtension"`, `"WixDirectXExtension"`, `"WixFirewallExtension"`, `"WixGamingExtension"`, `"WixIisExtension"`, `"WixMsmqExtension"`, `"WixNetFxExtension"`, `"WixPSExtension"`, `"WixSqlExtension"`, `"WixTagExtension"`, `"WixUIExtension"`, `"WixUtilExtension"`, `"WixVSExtension"`, custom assemblies
version | `string` | 1.2 | `undefined` | The WiX version. Consists of four numbers separated by dots, for instance "3.7.1224.0".
versionMajor | `int` | 1.2 | `versionParts[0]` | The WiX major version.
versionMinor | `int` | 1.2 | `versionParts[1]` | The WiX minor version.
versionParts | `list` | 1.2 | `empty` | The WiX version as a list. For instance, WiX version 3.7.1224.0 would correspond to a value of `[3, 7, 1224, 0]`.
versionPatch | `int` | 1.2 | `versionParts[2]` | The WiX patch level.
versionBuild | `int` | 1.2 | `versionParts[3]` | The fourth WiX version number component.
toolchainInstallPath | `path` | 1.2 | determined automatically | WiX installation directory. Determined by searching the registry for the latest version. This should not normally need to be changed.
toolchainInstallRoot | `path` | 1.2 | determined automatically | WiX binaries directory. Determined by searching the registry for the latest version. This should not normally need to be changed.
compilerName | `string` | 1.2 | `"candle.exe"` | Name of the compiler binary. This should not normally need to be changed.
compilerPath | `string` | 1.2 | `compilerName` | Directory where the compiler binary is located. This should not normally need to be changed.
linkerName | `string` | 1.2 | `"light.exe"` | Name of the linker binary. This should not normally need to be changed.
linkerPath | `string` | 1.2 | `linkerName` | Directory where the linker binary is located. This should not normally need to be changed.