I have x64 and x86 versions of my installer .msi, and want to ship a single executable which simply checks the machine architecture and runs the x86/x64 MSI. The MSIs are basically identical, they install the same AnyCPU files, which I bundle in a shared .cab file so as not to double the size of the installer.
So far I've tried WiX Burn, which pops up a GUI which I don't want (I just want to use the MSI GUI), and I tried disabling the burn GUI via /silent flag - this propagates this flag to the MSIs so it disables all GUI for MSIs (not what I want).
I think I am correct when I say there is no default No-GUI version of Burn bootstrapper, and to create one you must edit the source code yourself? This sounds like a massive missing feature?
I've also tried DotNetInstaller which has it's own set of problems with a confusing user interface. I've also tried setupbld which does not support MSIs with an external cab.
For the architecture detection you could use the InstallCondition attribute in the MsiPackage element.
To put it simply try:
<MsiPackage SourceFile="..\Example\bin\Release\x86\example.msi" Compressed="no" InstallCondition="NOT VersionNT64" />
<MsiPackage SourceFile="..\Example\bin\Release\x64\example.msi" Compressed="no" InstallCondition="VersionNT64" />
Sources: http://wix.sourceforge.net/manual-wix3/wix_xsd_msipackage.htm
As the other answers suggest you can use the VERSIONNT64 variable to check the on which platform you are installing.
Wix Burn supports NO-GUI or quiet mode by passing the command line parameter "-q".
Along with that it supports the following other arguments too:
The wixstdba supports only the "standard package switches":
-q, -quiet, -s, -silent = silent install
-passive = progress bar only install
-norestart = suppress any restarts
-forcerestart = restart no matter what (I don't know why this is still around)
-promptrestart = prompt if a restart is required (default)
-layout = create a local image of the bootstrapper (i.e. download files so they can be burned to DVD)
-l, -log = log to a specific file (default is controled by bundle developer)
-uninstall = uninstall
-repair = repair (or install if not installed)
-package,-update = install (default if no -uninstall or -repair)
Type your wixburnexename /? To get the details on your machine.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With