WiX – Install Prerequisites and 3rd party applications

See the WiX 3.7 docs on “Building Installation Package Bundles”. If you are using MSBuild, SharpDevelop or Visual Studio (non-Express), you can use the WiX Bootstrapper project template. If you prefer to call the toolset command-line tools yourself, they are candle and light, just like for building MSI files.

See the WiX 3.7 docs on “How To: Install the .NET Framework Using Burn”. Note: WiX offers two pre-defined packages for .NET 4.0, both download from Microsoft at install-time. One is the full package, the other is the downloader package that downloads just is needed on the user’s system. If you’d rather not have your installer depend on Internet access, you can write your own package as you have to do with any arbitrary exe that you bundle. Obviously, the WiX source code can help with the .NET 4.0 packages as it has the detect condition, install command, and uninstall command that you’d need.

See the installation docs for each of the other packages to find out what you should put into their detect conditions, install commands, and uninstall commands. And, again, you’d have the choice of putting a download URL in each package or not.

SQL Server CE

<PackageGroup Id="SQLExpressCE">
    <!-- Per http://support.microsoft.com/kb/974247, on a 64-bit system both 32-bit and 64-bit packages must be installed and be the same version. -->
    <MsiPackage
          Visible="yes"
          Cache="no"
          Compressed="no"
          ForcePerMachine="yes"
          Permanent="yes"
          Vital="yes"
          SourceFile=".\prerequisites\SSCERuntime-ENU.msi" />
    <MsiPackage
          Visible="yes"
          Cache="no"
          Compressed="no"
          ForcePerMachine="yes"
          Permanent="yes"
          Vital="yes"
          SourceFile=".\prerequisites\SSCERuntime-ENU-x64.msi"
          InstallCondition="VersionNT64" />
</PackageGroup>

WiX Burn Troubleshooting

Burn creates a log file for itself as well as any MsiPackages it runs. Check your %TEMP% folder.

Leave a Comment