Working with WiX Standard Bootstrapper Application

WiX

Working with WiX Standard Bootstrapper Application

As described in the introduction to building installation package bundles, every bundle requires a bootstrapper application DLL to drive the Burn engine. Custom bootstrapper applications can be created but require the developer to write native or managed code. Therefore, the WiX toolset provides a standard bootstrapper application that developers can use and customize in particular ways.

There are several variants of the WiX Standard Bootstrapper Application.

  1. WixStandardBootstrapperApplication.RtfLicense - the first variant displays the license in the welcome dialog similar to the WixUI Advanced.
  2. WixStandardBootstrapperApplication.HyperlinkLicense - the second variant provides an optional hyperlink to the license agreement on the welcome dialog, providing a more modern and streamlined look.
  3. WixStandardBootstrapperApplication.HyperlinkSidebarLicense - the third variant is based on HyperlinkLicense but provides a larger dialog and larger image on the initial page.
  4. WixStandardBootstrapperApplication.RtfLargeLicense - this variant is similar to RtfLicense but is a larger dialog and supports the option of displaying the version number.
  5. WixStandardBootstrapperApplication.HyperlinkLargeLicense - this variant is similar to HyperlinkLicense but is a larger dialog and supports the option of displaying the version number.
  6. WixStandardBootstrapperApplication.Foundation - the final variant is blank and requires the developer to provide a theme file that completely customizes the look and feel.

To use the WiX Standard Bootstrapper Application, a <BootstrapperApplicationRef> element must reference one of the above identifiers. The following example uses the bootstrapper application that displays the license:

    <?xml version="1.0"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
      <Bundle>
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
        <Chain>
        </Chain>
      </Bundle>
    </Wix>

HyperlinkLargeTheme, HyperlinkSidebarTheme, and RtfLargeTheme can optionally display the bundle version on the welcome page:

    <?xml version="1.0"?>
    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
        xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
      <Bundle>
        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
          <bal:WixStandardBootstrapperApplication
            LicenseFile="path\to\license.rtf"
            ShowVersion="yes"
            />
        </BootstrapperApplicationRef>
        <Chain>
        </Chain>
      </Bundle>
    </Wix>

When building the bundle, the WixBalExtension must be provided. If the above code was in a file called "example.wxs", the following steps would create an "example.exe" bundle:

candle.exe example.wxs -ext WixBalExtension
light.exe example.wixobj -ext WixBalExtension

The following topics provide information about how to customize the WiX Standard Bootstrapper Application: