3

I'm writing merge modules for a project I'm working on.

I build two merge modules, one for 32-bit and one for 64-bit. I want to include them in a WiX installer but it tells me I can't: error LGHT0345: 'installer\bin\x64\Release\en-us\myproject.msm' is a 64-bit merge module but the product consuming it is 32-bit. 32-bit products can consume only 32-bit merge modules.

Is there a way to make a dual CPU project so I can include both?

WiX version is 3.6.

erik
  • 111
  • 1
  • 6

1 Answers1

2

Windows Installer doesn't support multi-platform packages. If you need to write to the 64-bit portion of the file system or registry, you need a 64-bit package.

Bob Arnson
  • 21,377
  • 2
  • 40
  • 47
  • The merge modules for the Visual Studio runtimes seem to be able to pull it off somehow, why can't I? For example one called Microsoft_VC90_CRT_x86_x64.msm. – erik Jul 21 '11 at 07:28
  • A 64-bit package can include both 32-bit and 64-bit components. A 32-bit package can include only 32-bit components. – Bob Arnson Jul 21 '11 at 16:39
  • I've included the file mentioned above in a 32-bit installer. If I open it (the VC redist msm) in orca it doesn't specify which platform it's for. Seems like it's not specified. – erik Jul 22 '11 at 13:33
  • Yes, it's also slightly "special" in that even though it has 64-bit files, they're side-by-side assemblies. Those are different than files that go into Program Files, for example. – Bob Arnson Jul 22 '11 at 13:43