[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1146
  • Last Modified:

Problem Running WPF Application

On startup I'm getting Runtime Error - R6034 - An application has made an attempt to load the C runtime library incorrectly.  

SxS trace supplied below.  Any suggestions, please?
=================
Begin Activation Context Generation.
Input Parameter:
	Flags = 0
	ProcessorArchitecture = x86
	CultureFallBacks = en-US;en
	ManifestPath = C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\PresentationCore.dll
	AssemblyDirectory = C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\
	Application Config File = 
-----------------
INFO: Parsing Manifest File C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\PresentationCore.dll.
	INFO: Manifest Definition Identity is PresentationCore,processorArchitecture="X86",type="win32",version="1.0.0.0".
	INFO: Reference: Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.1830"
INFO: Resolving reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.1830".
	INFO: Resolving reference for ProcessorArchitecture x86.
		INFO: Resolving reference for culture Neutral.
			INFO: Applying Binding Policy.
				INFO: Find publisher policy at C:\Windows\WinSxS\manifests\x86_policy.8.0.microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_9193a620671dde41.manifest
				INFO: No binding policy redirect found.
			INFO: Begin assembly probing.
				INFO: Did not find the assembly in WinSxS.
				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT\8.0.50727.1830__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL.
				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\Microsoft.VC80.CRT.DLL.
				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\Microsoft.VC80.CRT.MANIFEST.
				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\Microsoft.VC80.CRT\Microsoft.VC80.CRT.DLL.
				INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\PresentationCore\3.0.0.0__31bf3856ad364e35\Microsoft.VC80.CRT\Microsoft.VC80.CRT.MANIFEST.
				INFO: Did not find manifest for culture Neutral.
			INFO: End assembly probing.
	ERROR: Cannot resolve reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.1830".
ERROR: Activation Context generation failed.
End Activation Context Generation.

Open in new window

0
johnalphaone
Asked:
johnalphaone
  • 4
  • 3
1 Solution
 
Nirmalan NagenthiranCommented:
0
 
unmeshdaveCommented:
this looks like something to do with your menifest file. as it is menifest file which loads C Runtime Lib. Normally Menifest needs to be embedded in exe itself. so if you have any other menifest along with exe, just try to rename it.
0
 
johnalphaoneAuthor Commented:
@NNirmalan Thanks, I've already seen that page.  There's nothing there that helps.

@unmeshdave Thanks, but the reference to Microsoft.VC80.CRT is coming from PresentationCore, which in turn is coming from the assembly which I am installing.  As such I can't change the manifest.
0
Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

 
unmeshdaveCommented:
my question is, do you have menifest file exist along with exe? if yes, just rename it.
0
 
johnalphaoneAuthor Commented:
No, the assembly manifest for PresentationCore will be in the dll.
0
 
unmeshdaveCommented:
OOps I did not see the traces you put till now. please try reinstalling .Net 3.5 SP1.
0
 
johnalphaoneAuthor Commented:
Uninstall and reinstall of .Net 3.5 SP1 does not resolve the problem.

Some further information.  It looks as though I should have Microsoft.VC80.CRT versions 8.0.50727.762 and 8.0.50727.3053 installed, along with some earlier versions.  I've provided the SxS manifest file contents below.

It seems to me that the request by PresentationCore for version 8.0.50727.1830 should be redirected to 8.0.50727.3053.  However, the 8.0.50727.3053 manifest is not being consulted and the probable reason is that the corresponding Security Catalog is missing.  I've checked on a colleague's XP SP2 machine and it is present there, so it looks as though I have a hangover from an earlier issue with a .Net 3.5 SP1 install.  

Is there a safe technique for removing the 8.0.50727.3053 files from winsxs, please?
The manifest for the 8.0.50727.762 version reads:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright © 1981-2001 Microsoft Corporation -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32-policy" name="policy.8.0.Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
            <bindingRedirect oldVersion="8.0.41204.256-8.0.50608.0" newVersion="8.0.50727.762"/>
             <bindingRedirect oldVersion="8.0.50727.42-8.0.50727.762" newVersion="8.0.50727.762"/>
        </dependentAssembly>
    </dependency>
</assembly>
 
Likewise for 8.0.50727.3053:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright © 1981-2001 Microsoft Corporation -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32-policy" name="policy.8.0.Microsoft.VC80.CRT" version="8.0.50727.3053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"/>
            <bindingRedirect oldVersion="8.0.41204.256-8.0.50608.0" newVersion="8.0.50727.3053"/>
             <bindingRedirect oldVersion="8.0.50727.42-8.0.50727.3053" newVersion="8.0.50727.3053"/>
        </dependentAssembly>
    </dependency>
</assembly>

Open in new window

0
 
johnalphaoneAuthor Commented:
In the end I had to resort to manually editing the binding redirects in the 8.0.50727.762 policy file.  Not ideal, but at least it's working now.
0

Featured Post

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now