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

Merge Module, Visual C++ 9.0 CRT (x86)

Hi all,

I have an installer which requires the following 2 merge modules:

Visual C++ 9.0 ATL (x86) WinSXS
Visual C++ 9.0 CRT (x86) WinSXS

These are sellected and being added to the finall .exe installer as the following two lines are in the build output log.
"Merging Visual C++ 9.0 ATL (x86) WinSXS MSM: C:\Program Files\Common Files\Merge Modules\Microsoft_VC90_ATL_x86.msm"
"Merging Visual C++ 9.0 CRT (x86) WinSXS MSM: C:\Program Files\Common Files\Merge Modules\Microsoft_VC90_CRT_x86.msm"

The problem is when the installer is run these merge modules are NOT installed. :mad: What are the possible reasons for this? :confused:

I validated the files are not installed by running an .exe (which i know requires them) through "depends" and the corrosponding .dll files came up missing even after the install.

Any help is much appreciated. 🙂
Labels (1)
0 Kudos
4 Replies
Level 5


When selecting the merge module for installation,
You need to verify that it is marked to be installed with the correct features in the feature tree. The tree appears in the bottom part of the IDE when you stand with your mouse on the merge module in the view of the merge modules list.

In addition - You could set the destination where this merge module is installed on the target machine. Standing on the merge moduel in the list, right clicking-> properties. As far as I know, These c++ redist' are supposed to have the defaut path. Is it possible that you manually changed it?

Good Luck,
0 Kudos
Level 3

Hi Sharon,

Thanks very much for the help. I checked the feature was seleted for the appropriate merge modules.

I also tried modifying the installation directory of the merge modules (It was set to default), after performing an install there were no merge module files when they were specified to be installed.

I really cant understand but if there are any other options, or even long shots it would be most appreciated.

I've got this working though im not clear in my own mind about the correct solution. In my merge module list there are multiple entries for Visual C++ 9.0 ATL (x86) WinSXS and Visual C++ 9.0 CRT (x86) WinSXS. Originally i thought this was strange but didnt think too much about it. I did a test where i checked all the entries with this name and the install worked as expected. With all the merge modules selected i noticed that they were actually referencing different merge module files e.g.

"Merging Visual C++ 9.0 ATL (x86) WinSXS MSM: C:\Program Files\Common Files\Merge Modules\Microsoft_VC90_ATL_x86.msm"
"Merging Visual C++ 9.0 ATL (x86) WinSXS MSM: C:\Program Files\InstallShield\2009\Modules\i386\Microsoft_VC90_ATL_x86.msm"

My main concern now is how do i tell which is the correct module to use and what is the policy merge module that goes along with some of them?

0 Kudos
Level 6

I am by no means an expert so ... your mileage may vary...

In the Redistributables view, at the top right corner of the window, there should be a blue "Show Details" link. Click on that and you'll see a pop-out pane that shows you the path to the module that's currently selected. If your setup is anything like ours you'll see:

Name: Visual C++ 9.0 MFC (x86) WinSXS MSM
Path: C:\Program Files\InstallShield\2009\Modules\i386\policy_9_0_Microsoft_VC90_MFC_x86.msm

Name: Visual C++ 9.0 MFC.Policy (x86) WinSXS MSM
Path: C:\Program Files\InstallShield\2009\Modules\i386\Microsoft_VC90_MFC_x86.msm

Name: Visual C++ 9.0 MFC (x86) WinSXS MSM
Path: C:\Program Files\Common Files\Merge Modules\Microsoft_VC90_MFC_x86.msm

Name: Visual C++ 9.0 MFC (x86) WinSXS MSM
Path: C:\Program Files\Common Files\Merge Modules\policy_9_0_Microsoft_VC90_MFC_x86.msm

They're listed under the same name but if you select the policy file the other one will automatically become selected. I can't speak for which one will work for you but we've been using the InstallShield\2009\Modules\i386 version and it's been working just fine for us.

Show the details, select the policy file, the other one becomes enabled. Try it using one policy at a time and see which one works for you.
0 Kudos
Level 3

Hi kaneohe,

That "Show Details" tab is an easy one to miss, thanks for that 🙂

I changed the selection and made sure it was using the "C:\Program Files\InstallShield\2009\Modules\i386" merge modules, this selected both the normal and policy modules as expected and when testing this worked beautifully. 😉

Thanks very much for your help. I would still be curious as to why the others done work or why installshield selected the others by default but i am more than content with it just working now.

Thanks again to you both, 🙂
0 Kudos