Search code examples
wixbootstrapperburn

Addin Custom Page to the Wix Bootstrapper


I am looking to insert a custom page into the burn Bootstrapper sequence that collects data, via a checkbox, and lets the user choose whether they want to install SqlExpress as part of the install process.

The research that I have done suggests that this is not possible without modifying the Wix Sources.

Is this correct?

Kind Regards

Scott


Solution

  • WiX Toolset provides two (well, actually three) Bootstrapper Applications:

    1. A repurposed BA that has minimal functionality, which uses "theme files" (which are "overridable") to style each "page". It can be "extended" with a "BA Functions" dll you can include, but there's no hook to allow that dll to "find" or "sequence" any additional pages you add to your theme, or additional controls you try adding to existing pages, for that matter, that I know of.
    2. A managed code "host" that calls your BA written in managed code. This will call the BA mentioned above with a specific theme to provide UI for installing the Net Framework needed by your BA if your BA fails to load.
    3. The installer for WiX v3 itself (which is a BA written in managed code).

    Alternately, you can write your own BA, in either C/C++ (or any "compatible" language) or managed code, and use it instead of the one provided by WiX (e.g. for a client I helped develop a BA written using WTL that used the built-in Wizard dialog in the Win32 API). Other than including a header file from the WiX sources, no code from WiX was used.