[wix-users] More Advanced WiX Bootstrapper UI

Rob Mensching rob at firegiant.com
Tue Aug 4 11:14:06 PDT 2015

wixstdba is basic. Took us a lot of effort to build the Burn engine. That was the focus. Building a BA isn't terribly difficult... especially compared to all the work it took to get the engine to be robust.

So today wixstdba is a reasonable place to start and if you need more, you need more. At least the hard (non-UI) problems are solved for you.

Now, in WiX v4, theme'ing has been beefed up and wixstdba can do more (like have additional pages) so maybe that'll lower the bar enough for you. If not, maybe you could help us improve theme'ing more so it does.

 FireGiant  |  Dedicated support for the WiX toolset  |  http://www.firegiant.com/

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Matt Hauck
Sent: Tuesday, August 4, 2015 10:58 AM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] More Advanced WiX Bootstrapper UI


I have a question about how people are using / expected to use the WiX Bootstrapper, in particular with reference to the UI component. It seems to me to be incomplete as it stands for anything beyond bundling prerequisites.

(Background: I have used WiX in the past for making MSIs and really really like it. I am working on a project now that I would like to move off of NSIS into WiX and am getting hung up on something I hope someone here can help out with.)

As far as I can tell, the wix standard bootstrapper <http://wixtoolset.org/documentation/manual/v3/bundle/wixstdba/> provides only one main screen, perhaps with an options page as well (that I only found looking at the code, not in the docs; may have missed it). It provides the ability to customize/theme this page, but does not allow the insertion of arbitrary pages, define custom actions to call between these pages, etc., as one can do in a WiX MSI UI.

I believe this is incomplete, as it does not provide the opportunity to gather the right amount of information needed to decide which components need to be installed. (caveat: with a standard user experience. It may be possible with the options page, but an options page is not something we can expect our users to click on when important decisions need to be made on that page)

It seems to me the only reason someone would want to generate a bundled / bootstrapped application is because there are multiple things one needs to install. These boil down to two basic categories: prerequisites and optional features.

In the case one only cares about bundling prerequisites, I suppose the current state of things works just fine for most people. If all you need to do is make sure .NET and C++ runtimes are installed, then the bootstrapper UI just needs to display the license and then say "Go!", and then the MSI can add its own UI layer down below to provide further advanced configuration. Perhaps this is the 80% use case.

However, I think there is also a significant use case for using a wix bundle for installing optional features. For example, we may want to bundle SQL Server Express. This is obviously not something we want to just always install. We want to allow the user to specify their own SQL Server if they want or select the "Please install it for me" checkbox. Therefore, this has to happen at the bootstrap layer, not at our MSI layer, requiring a more flexible bootstrap UI with multiple pages.

So here is the question: *What is recommended in this scenario?* It is a bit unfortunate that the only valid option left for me is to entirely roll my own UI application using WPF or something like that (which may end up bringing in .NET dependency, which we are trying to avoid). This is a significant enough hurdle that it will meet with sufficient push back from the team that we will probably not go with WiX. This is sad, because WiX is so much better than NSIS in my opinion on other fronts.

Hopefully that is not too wordy. Please let me know if I have misunderstood anything and what guidance you would provide.



WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

More information about the wix-users mailing list