Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to deploy 64-bit and a 32-bit Windows Installer package as a single setup?

I need to deploy a software setup targeting both, Windows 64bit and 32bit. I have two separate Windows Installer databases (created with WiX) for each platform, and I am using dotNetInstaller to combine both into a single installation bootstrapper executable.

I'm currently using version 1.10 of dotNetInstaller and set auto_close_if_installed=True, because I want to comletely hide the bootstrapper from the user. Still, dotNetInstaller insists on displaying a sill progress bar window while my installer is running, and doesn't really auto-close. The user needs to confirm a dialog box telling him that the application was successfully installed. But the real deal-breaker is that it doesn't support Windows 8 (yet).

Upgrading to a later version of dotNetInstaller seems to break auto_close_if_installed, so it's even worse.

So my question is: what is the current state of the art to deploy both setups in a single executable. Would Wix Burn be an option?

I know that in an ideal world, I simply provide my customers with separate installers for either platform. But they happen to be completely unaware of such subtleties, most of them don't even know what platform they are using.

like image 992
Daniel Gehriger Avatar asked Oct 30 '12 20:10

Daniel Gehriger


1 Answers

I would definitely use Burn in this scenario. Something akin to the following:

<Wix>
  <Bundle...>
    <BootstrapperApplicationRef Id='WixStandardBootstrapperApplication.HyperlinkLicense' />

    <Chain>
      <MsiPackage InstallCondition='NOT VersionNT64' SourceFile='path\to\x86.msi' />
      <MsiPackage InstallCondition='VersionNT64' SourceFile='path\to\x64.msi' />
    </Chain>
  </Bundle>
 </Wix>

This is exactly one of the scenarios Burn was designed to handle.

like image 169
Rob Mensching Avatar answered Sep 29 '22 05:09

Rob Mensching