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

Justin picture Justin · Sep 14, 2009 · Viewed 32.8k times · Source

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

Answer

Justin picture Justin · Sep 14, 2009

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).