September 29th, 2010, 11:45 AM
Correct merge modules and correct CRT dll's for applications/ dll's
I have developed a 32 bit dll say myDLL32.dll using Visual Studio 2008 SP1. Associated CRT dllís (i.e. msvcr90.dll, msvcp90.dll, and msvcm90.dll) have version 9.0.30729.1. I embed the manifest into myDLL32.dll. When I look for the manifest file for this DLL in the build directory, it always points to version 9.0.21022.8 of CRT dllís.
Now I want to distribute myDLL32.dll along with necessary CRT dllís through an installation project created in Installshield. I want to install both Shared and Private assembly of CRT dllís. I understand that if both shared and private assemblies are installed, shared assemblies (installed in winsxs folder) will take precedence and in that case my private assembly will be ignored.
My question is, in order to ensure that myDLL32.dll will find correct version of CRT dllís
A. For shared assembly: which version of merge module should I use?
i) A merge module which installs version - 9.0.21022.8 of CRT dllís which is embedded in myDLL32.dll or
ii) A merge module which installs version Ė 9.0.3729.1 which is for VS 2008 SP1 or
iii) A merge module which installs version Ė 9.0.3729.4148 of CRT dllís which are installed after installing latest redistributable package for VS 2008 SP1
B. For private assembly which version CRT Dllís should I copy to my applications directory?
After going through various blogís on MSDNís website I learned that I can copy
msvcr90.dll, msvcp90.dll, msvcm90.dll, and Microsoft.VC90.CRT.manifest into my applications directory. My Microsoft.VC90.CRT.manifest found in C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT folder points to version 9.0.30729.4148. Again, which version of CRTís dllís should I copy in my applications directory?
i) Version - 9.0.21022.8 of CRT dllís which is embedded in myDLL32.dll or
ii) Version Ė 9.0.3729.1 which is for VS 2008 SP1 or
iii) Version Ė 9.0.3729.4148 of CRT dllís to which my Microsoft.VC90.CRT.manifest points
I am really confused about it. I hope guruís in this area can help me out. Thanks!
Tags for this Thread
Click Here to Expand Forum to Full Width