Justin
Justin

Reputation: 86789

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

Upvotes: 5

Views: 34132

Answers (4)

user8796178
user8796178

Reputation: 1

I know, this is 13 years later! This solution might help someone.

I had the 'Microsoft.vc80.crt.manifest' error which prevented the 2007 installation on a Windows 10 machine. Previously, the 2007 setup.exe installed without problem on many other Windows 10 machines.

I uninstalled the c++ 2005 redistribution packs (normal and x86). I also uninstalled AVG virus checker.

After those uninstalls, the 2007 installation proceeded as normal, with no 'Microsoft.vc80.crt.manifest' error.

Either the 2005 uninstall or the AVG uninstall, or both, was definitely the answer to the problem. I did not have to mess around with versioning numbers.

Steve

Upvotes: 0

gionny
gionny

Reputation: 257

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

Upvotes: 2

b10y
b10y

Reputation: 879

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.

Upvotes: 2

Justin
Justin

Reputation: 86789

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

Upvotes: 2

Related Questions