Showing results for 
Show  only  | Search instead for 
Did you mean: 

Include two MSMs with same Module ID

I have two MSMs with the same Module ID. One includes x64 files and the other includes x86 files. I would like to include them both into a single Basic MSI installer and set a condition so that one or the other is installed based on the target system.

The problem is that I can't seem to get both MSMs to appear in the Redistributables view. I can fiddle with the search directory order in Tools -> Options -> Merge Modules, and I can manually specify one or the other by right-clicking in the Redistributables view and navigating to it, but doing so invariably removes the other. I can't get them to appear at the same time.

Is this due to them having the same Module ID? They do have different file names and live in different source directories, and since they have different contents would have different MD5 signatures.

Changing the Module ID of just one of the MSMs would be difficult considering how they are built (a single WiX script which substitutes contents based on platform) and also that those are "owned" by another group. It would be ideal if I could simply include both MSMs in my Basic MSI project as they exist now.

Thanks in advance.
Labels (1)
0 Kudos
1 Reply

Re: Include two MSMs with same Module ID

The ModuleID is a GUID, a Globally Unique IDentifier which identifies a module with particular content. To have two things with the same GUID is like duplicating a key value in a table (a "Universe" table so to speak 🙂 ).

There are alternative approaches, of course. Perhaps you could have one merge module with 64- and 32-bit components, and just use a condition (VersionNT64) to condition out the 64-bit components when installing on a 64bit machine. This might actually make maintenance and deployment a lot easier. Just make the module intelligent enough to decide how to behave, and one MM could handle either platform.
0 Kudos