Reputation: 236
We have had a somewhat complicated MSI installer (WiX) for a while and are now in need of calling certain executables after (and potentially before) the MSI. These executables must be ran outside of msiexec. So I have just started to get a WiX bootstrapper going that bundles the current MSI and then calls the EXE needed afterwards as follows:
<Bundle Name=".......">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage Id="MainMSI" SourceFile="installer.msi" DisplayInternalUI="yes" />
<ExePackage Id="EXE1"
InstallCommand="...."
SourceFile="Exe1.exe" />
Since all the dialogs we have (license, options, etc) are in the MSI (and we want to keep it that way, for the most part), what's the best way to have the bootstrapper not show any UI before the MSI does? Currently I have a white dialog with a couple of buttons that are from the bootstrapper, but is there a way to tell the bootstrapper to not show any dialogs at the beginning or even to jump to the MSI right away?
After the MSI is done, I'd like to put up some dialog to show some progress on the EXE that are running and a "done" dialog. I guess that would have to come from the bootstrapper? how to do that? Or do I need to create a simple "done" MSI that shows a "done" dialog?
Thanks
Upvotes: 3
Views: 2817
Reputation: 3147
I think it is not possible with StandardBootstrapper, but it is definitely possible with custom managed bootstrapper. In custom MBA you create the bundle UI yourself. In particular, when the switch /quiet is passed on the command line, you do not create the UI at all. But you may not create the UI or create some invisible UI even for the normal case.
However that will go against the Burn philosophy: all UI should be in bootstrapper and the MSIs should be dumb.
Upvotes: 1