using a 64-bit merge module in a 32+64-bit MSI
(Pre-question: is there a better search than the single box labeled "Search forums"? I'd love to search just this forum but searching all forums rarely gets answers relevant here.)
I ship a product as a 64-bit merge module (also as 32-bit MSM but that's not at issue here.) Recently a customer is asking if they can use my 64-bit MSM in a dual-mode MSI, that is in a 32-bit MSI which includes 64-bit components. Is this likely to be possible? I'd always thought a 64-bit install required a 64-bit MSI, but the customer insists I'm wrong.
The customer says they can create a 32-bit MSI which includes 64-bit components. (The customer is also using WIS 7.) When they add my 64-bit MSM into their MSI, my files are installed to Program Files (x86) instead of to Program Files, so my custom actions don't find files where they expect. I can add code to check for WoW etc but don't want the hassle if this is an illegal way of doing things.
Thanks
Comments
In answer to your "pre-question"
Alan,
You can't seach just this forum as you are asking but if you put your search terms in the "Search forums" box you can then filter the results by using the filters found in the left hand nav. Filter by product (this forum) and forums (see the pic below) and the resulting items will be more along the lines of what you are looking for. Hope this is helpful...

Cheryl
Endpoint Management,
Endpoint Virtualization
Community Manager
www.twitter.com/EMnV_symc
Need Altiris help? IRC chat #Altiris
thanks Cheryl, yes that's
thanks Cheryl, yes that's useful to know!
Alan
Mixing 32 bit and 64 bit
Mixing 32 bit and 64 bit components in a single install is possible, and you can find this information in the help file MSI.CHM which is installed with Wise, although a later version can also be found in the windows installer 4.5 SDK. Here is an extract from the "Component Table" page:
If this is a 64-bit component replacing a 32-bit component, set this bit and assign a new GUID in the ComponentId column.
So I guess it's up to you whether you want to spend any time updating your merge module for this requirement, or just let your customer do the work.
If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.
Can a *32-bit* MSI include 64-bit components?
Thanks Ed -- my question wasn't quite specific enough. It should be "can a 32-bit MSI install 64-bit components." (I know a 64-bit MSI can install both 32- and 64- components.)
The components at issue are marked as 64-bit, that is, they have the msidbComponentAttributes64bit attribute set. The problem is that when the customer's 32-bit MSI includes our 64-bit merge module, our components are getting installed to the wrong place. The ProgramFiles64Folder property is changed by Windows Installer to point to C:\Program Files (x86)\ So the 64-bit files are installed to the wrong directory (in which they cannot work -- they rely on being in a subdir of C:\Program Files\)
Thanks
Alan
I suspect this issue revolves
I suspect this issue revolves around the directory table, and what ProgramFilesFolder resolves to when you specify a 32 bit template and when you specify a 64 bit template.
Have you had a look at this aspect?
If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.
Would you like to reply?
Login or Register to post your comment.