Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Side-by-side configuration error (Microsoft.VC80.CRT v8.0.50608.0)

I have an assembly with the following manifest embedded:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
    </dependentAssembly>
  </dependency>
</assembly>

On one of my machines this assembly doesn't work (the assembly fails to load). Opening this in dependency walker gives me the following error message:

Error: The Side-by-Side configuration information for "SomeAssembly.dll" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).

The identical assembly works fine on another machine, and I get no error with dependency walker.

As far as I can work out the problem is due to the first machine missing a dependency of some sort (for example the MSVCR redistributable), however I've already checked and the Microsoft Visual C++ 2005 Redistributable is installed fine on both machines.

How do I go about figuring out what the missing dependency is?

The only thing I have noticed is that the WinSxS directory on the working machine has an additional entry:

x86_Microsoft.VC80.ATL_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_473666fd
like image 705
Justin Avatar asked Sep 14 '09 09:09

Justin


3 Answers

Sorted!

Someone kindly pointed out to me that the '"SomeAssembly.dll"' mentioned in Dependency Walker was in fact a different dll from the one I opened in Dependency Walker! (Whoops!)

Looking at the manifest for this assembly I can see that the problem is due to the fact that Microsoft.VC80.CRT v8.0.50727.4053 is targetted, but not present on this machine. (Installed via a security update).

like image 148
Justin Avatar answered Nov 15 '22 19:11

Justin


After struggling with the same problem, I have noticed that the updates applied to development Visual Studio installation might address some target machine updates:

Visual Studio Updates

For example, the highlighted update above addresses this specific question.

like image 36
b10y Avatar answered Nov 15 '22 20:11

b10y


Instaed of relaying on side by side I would suggest you to don't include the "Manifest file" inside your assembly. Expecially because you cannot be sure that the PC you're going to install your software is updated to the version included in your manifest.

You can disable it setting the project property "Linker\Manifest File\Generate Manifest" to "No".

I hope this could help. Good luck

like image 2
gionny Avatar answered Nov 15 '22 18:11

gionny