473,503 Members | 2,173 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Wrong Microsoft_VC90_CRT_x86.msm merge module

Hi,

I have MS Visual Studio 2008 both Pro and Dev Team Edition SP1 installed.
I've compiled a managed C++ .DLL which automatically had a manifest
embedded, with the following dependency: "Microsoft.VC90.CRT" "9.0.21022.8"
"x86".

I created an MSI package with the following merge modules: "Program
Files\Common Files\Merge Modules\Microsoft_VC90_CRT_x86.msm" and
"policy_9_0_Microsoft_VC90_CRT_x86.msm".

When I install the package on Windows Server 2003 SP2 32bit with .NET 3.5,
an executable linked to the DLL won't load saying:

Unhandled Exception: System.IO.FileLoadException: Could not load file or
assembly MyDLL, Version=3.95.4.0, Culture=neutral, PublicK
eyToken=f26dd1c6f19dbf78' or one of its dependencies. This application has
failed to start because the application configuration is incorrect. Re
installing the application may fix this problem. (Exception from HRESULT:
0x800736B1)
File name: 'MyDLL, Version=3.95.4.0, Culture=neutral,
PublicKeyToken=f26dd1c6f19dbf78' --->
System.Runtime.InteropServices.COMExcept
ion (0x800736B1): This application has failed to start because the
application configuration is incorrect. Reinstalling the application may fix
t
his problem. (Exception from HRESULT: 0x800736B1)
at Test.Program.Main(String[] args)

The following event is logged:

Resolve Partial Assembly failed for Microsoft.VC90.CRT. Reference error
message: The referenced assembly is not installed on your system.

I suspect the above issue is because of the following.

WINDOWS\WinSxS\Policies\x86_policy.9.0.Microsoft.V C90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75\
contains two files: 9.0.21022.8.policy and 9.0.30729.1.policy.The latter
apparenhtrly redirects 21022 to 30729:

9.0.30729.1.policy:
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT"
processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
<bindingRedirect oldVersion="9.0.20718.0-9.0.21022.8"
newVersion="9.0.30729.1"/>
<bindingRedirect oldVersion="9.0.30201.0-9.0.30729.1"
newVersion="9.0.30729.1"/>
</dependentAssembly>

The problem is, there is the
WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e1 8e3b_9.0.21022.8_x-ww_d08d0375
folder, but there is no the one with CRT 30729.

I checked the Microsoft_VC90_CRT_x86.msm merge module, and it does NOT
contain CRT 30729, that's why the newer CRT is not installed. However,
policy_9_0_Microsoft_VC90_CRT_x86.msm DOES contain the policy file for CRT
30729. I checked my Microsoft_VC90_CRT_x86.msm against VS 2008 ISO images,
and it matches the files in both VS2008 Pro and VS2008 Dev Team.

I checked the x64 and ia64 merge modules, and they DO contain CRT 30729.

I deleted "9.0.30729.1.policy", and my DLL started to load.

So the problem is that:
- Microsoft_VC90_CRT_x86.msm doesn't contain CRT 30729 for some reason
- policy_9_0_Microsoft_VC90_CRT_x86.msm contains the redirection manifest
for CRT 30729
- NOTE: x64 and ia64 merge modules are fine.

The question is, where do I get the correct Microsoft_VC90_CRT_x86.msm merge
module?

Thank you,

Nick

Oct 26 '08 #1
1 14861
Never mind, it turned out that that particular msm file wasn't propely
updated by VS2008 SP1.

"cristalink" <cr********@noemail.noemailwrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl...
Hi,

I have MS Visual Studio 2008 both Pro and Dev Team Edition SP1 installed.
I've compiled a managed C++ .DLL which automatically had a manifest
embedded, with the following dependency: "Microsoft.VC90.CRT"
"9.0.21022.8" "x86".

I created an MSI package with the following merge modules: "Program
Files\Common Files\Merge Modules\Microsoft_VC90_CRT_x86.msm" and
"policy_9_0_Microsoft_VC90_CRT_x86.msm".

When I install the package on Windows Server 2003 SP2 32bit with .NET 3.5,
an executable linked to the DLL won't load saying:

Unhandled Exception: System.IO.FileLoadException: Could not load file or
assembly MyDLL, Version=3.95.4.0, Culture=neutral, PublicK
eyToken=f26dd1c6f19dbf78' or one of its dependencies. This application has
failed to start because the application configuration is incorrect. Re
installing the application may fix this problem. (Exception from HRESULT:
0x800736B1)
File name: 'MyDLL, Version=3.95.4.0, Culture=neutral,
PublicKeyToken=f26dd1c6f19dbf78' --->
System.Runtime.InteropServices.COMExcept
ion (0x800736B1): This application has failed to start because the
application configuration is incorrect. Reinstalling the application may
fix t
his problem. (Exception from HRESULT: 0x800736B1)
at Test.Program.Main(String[] args)

The following event is logged:

Resolve Partial Assembly failed for Microsoft.VC90.CRT. Reference error
message: The referenced assembly is not installed on your system.

I suspect the above issue is because of the following.

WINDOWS\WinSxS\Policies\x86_policy.9.0.Microsoft.V C90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75\
contains two files: 9.0.21022.8.policy and 9.0.30729.1.policy.The latter
apparenhtrly redirects 21022 to 30729:

9.0.30729.1.policy:
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT"
processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
<bindingRedirect oldVersion="9.0.20718.0-9.0.21022.8"
newVersion="9.0.30729.1"/>
<bindingRedirect oldVersion="9.0.30201.0-9.0.30729.1"
newVersion="9.0.30729.1"/>
</dependentAssembly>

The problem is, there is the
WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e1 8e3b_9.0.21022.8_x-ww_d08d0375
folder, but there is no the one with CRT 30729.

I checked the Microsoft_VC90_CRT_x86.msm merge module, and it does NOT
contain CRT 30729, that's why the newer CRT is not installed. However,
policy_9_0_Microsoft_VC90_CRT_x86.msm DOES contain the policy file for CRT
30729. I checked my Microsoft_VC90_CRT_x86.msm against VS 2008 ISO images,
and it matches the files in both VS2008 Pro and VS2008 Dev Team.

I checked the x64 and ia64 merge modules, and they DO contain CRT 30729.

I deleted "9.0.30729.1.policy", and my DLL started to load.

So the problem is that:
- Microsoft_VC90_CRT_x86.msm doesn't contain CRT 30729 for some reason
- policy_9_0_Microsoft_VC90_CRT_x86.msm contains the redirection manifest
for CRT 30729
- NOTE: x64 and ia64 merge modules are fine.

The question is, where do I get the correct Microsoft_VC90_CRT_x86.msm
merge module?

Thank you,

Nick
Oct 27 '08 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
2730
by: Shiraz | last post by:
Hi I have a question regarding the functionality of merge modules. Since this relates to my previous queries, I'll just give you a brief background on the topic. I had to make an installer for...
2
1763
by: A.M | last post by:
Hi, I have a merge module and i need to install them on my web server (IIS6). When I double click on them, windows 2003 doesn't recognise *.msm files. How do I install merge modules (msm...
0
983
by: thejamie | last post by:
Hi, I'd like to locate a book on how to build a merge module. I am deploying 2.71 MDAC. I tried a Merge Module from MS, but it keeps installing an older version of MDAC. I tried following the...
3
3755
by: Altman | last post by:
Is there a merge module for the dotnet framework? If so Where? I cannot seem to find it.
0
1295
by: Shrage H. Smilowitz | last post by:
Hi, I have created a setup project in vs.net, i have included several merge modules, but when i test the installation on my development machine i dont want the uninstall to remove the files that...
0
1581
by: Wayne Sepega | last post by:
We currently are developing an enterprise framework and I am trying to create a set up project for this. Currently I have a merge module that has all of our assemblies set to go into the GAC, and a...
1
4282
by: mjobbe | last post by:
I have an installer that requires three merge modules (ATL, CRT, and MFC), and after adding them in, I get the following warnings when I build the MSI: WARNING: Two or more objects have the same...
4
7212
by: Tom Jones | last post by:
I have an application that was originally built using Visual Studio 2003 that I upgraded to Visual Studio 2005. When I attempt to build the *.msi file in the deployment project, I am getting a...
9
9019
by: Aaron Watters | last post by:
....is to forget they are sorted??? While trying to optimize some NUCULAR libraries I discovered that the best way to merge 2 sorted lists together into a new sorted list is to just append them...
0
7093
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7287
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7349
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
5594
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5022
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3177
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3168
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1521
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
399
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.