views:

257

answers:

1

Hello.

I am trying to create a .msi database using Wix to install a driver package.

Now this driver package is made to run on all platforms and can be installed on any platform (any version of windows, 2k and later, x86 or x64) by right clicking on the .inf file and selecting the "Install" option. Because the package doesn't need multiple versions for different platforms out there, I want to create a single msi file for all platforms.

All went fine until I hit this bottleneck: I am suppose to link with either dfxapp_x86.wixlib or dfxapp_x64.wixlib depending on the platform I wish to install on. This will lead to having two different installers, one for each platform, which I don't want. Including both library files won't work, since they link with dlls that contain the same symbols.

What can I do to have a single installation package for all platforms in this case?

Thanks.

+3  A: 

Neither MSI nor DIfxApp support a single package for multiple platforms. You need one per platform.

Bob Arnson
Thanks for the answer. Meanwhile I found a workaround for this:You can embed both versions of DPInst.exe (the ones for x86 and x64) into the msi package and just run those from the MSI, depending on which platform you are, and use silent mode (/q or /si). It is true the size of the MSI file will increase, but at least you can provide a single MSI for all platforms. I see no reason why Microsoft does it this way: supporting multiple platform installation packages for drivers, but no multiple platform MSI files for those drivers.

related questions