So I have a WiX based MSI that installs a handful of device drivers and therefore I have an x64 and an x86 version. The package also has a .NET 3.5 dependency so I'm generating a bootstrapper to do this and then launch the MSI. My question is if anyone is aware of a way to create a bootstrapper that will detect the platform it is running on and launch the appropriate MSI. I've googled around for such a solution and have turned up nothing so far. Thanks!

+1  A: 

If you're installing .Net before launching your msi you could also include an exe written in c# that detects your platform and then passes the answer back to your bootstrapper.

I used an exe that detected the platform, created a reg key that I was verifying to decide what to launch.

C# example


dotNetInstaller is probably what you need to use: you can create different "setup" configurations which will only be triggered if the right combination of OS, platform and language are met. You can also embed any MSIs, prerequisites etc. into the setup executable so users only have a single file to download/run.