I am creating an installer for an application which includes a WinUSB device driver. I am using WiX 3.5 with the difx extension. According to the WinUSB how-to I can create a single inf file that will work for x86, ia64 and amd architectures. However for the WiX difx extension I need to link to an architecture specific .wixlib. So, is there a way to create an installer which will work on all architectures or do I need 3 separate installers, in which case the single inf file is unnecessary?
Asked
Active
Viewed 502 times
2 Answers
2
AFAIK you can't consume the different per-architecture difxapp mergemodules or wixlibs in a single installer.
The only other option would be to skip difxapp and write your own CA to wrap the setupAPI InstallHinfSection() calls to invoke the various inf file sections, or even just use RUNDLL calls, though obviously that will totally mess up your error handline. e.g RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection

Stephen Connolly
- 1,639
- 10
- 15
-
Thanks, that's helpful. I'd rather keep difxapp (less for me to maintain) so I'll probably just have 3 .msi files with the same multi-architecture driver package in each - if I don't bundle the contents then it won't increase the total size much. – Peter Hull Apr 21 '11 at 08:47
1
The Windows Installer doesn't support multi-architecture packages. That limitation is usually at the root of requiring multiple installers and then bootstrappers (like Burn) to install them all appropriately.

Rob Mensching
- 33,834
- 5
- 90
- 130