Resolve Partial Assembly failed for Microsoft.VC80.DebugCRT

I have re-written an ISAPI wildcard extension using VC++ 2005 that uses both MFC and some Managed code.  It complies ok but when I try to use it the IIS says:

This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.

When I look in the Event log I get two different errors:

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

And

Generate Activation Context failed for \\ \C:\ISAPI\Content Control\IIS_Content_Control.dll. Reference error message: The referenced assembly is not installed on your system.

I get the idea that there is something, I assume a library, that I am referencing that is not on the 2003 server machine I am trying to run it on.  I did install the .NET framework 2.0 on that machine.

Any ideas



Answer this question

Resolve Partial Assembly failed for Microsoft.VC80.DebugCRT

  • David Gorena Elizondo - MSFT

    for release builds you can do this in several ways:

    1) run \program files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe on the IIS machine

    2) copy the contents of\program files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.MFC to the same folder as your DLL.

    3) Use the MSM files in \program files\common files\merge modules specifically Microsoft_VC80_MFC_x86.msm and create a small setup that includes this MSM merge module, and then run it on the IIS machine.

    Ted.


  • Ralph Depping

    Since you are using debug versions of the DLLs you need to do one of the following:

    1) Install Visual Studio 2005 on the IIS machine.  This will install the necessary debug versions of MSVCR80.DLL etc to the WinSxS folder.

    or:

    2) Install debug versions applocal, i.e. copy the contents (including manifest) of the

    \program files\microsoft visual studio 8\vc\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugCRT

    and

    \program files\microsoft visual studio 8\vc\redist\Debug_NonRedist\x86\Microsoft.VC80.DebugMFC

    folders to the same folder as your built DLL. 

    An easier solution is to switch to release builds instead of debug builds.  You can still step through release builds (to a limited degree)

     


  • Bernhard Kirchner

    Thanks Ted,

    A colleague at work just ran into this problem as well with their debug build in .NET 2.0. They got the strange error listed above. I did the following to solve it based on your post:

    1) Opened Visual Studio and Created a Regular Setup Project

    2) Added the Merge Modules to the project contained in C:\Program Files\Common Files\Merge Modules called:

    Microsoft_VC80_DebugMFC_x86.msm

    and

    Microsoft_VC80_DebugCRT_x86.msm

    3) Built the deployment project and ran the installation

    Best,

    -Mike G.



  • Lockie

    Ted. is right. Small addition is that you may also use Debug MSMs from C:\Program Files\Common Files\Merge Modules\microsoft_vc80_debugcrt_x86.msm internally for testing and development. Please also find related information in Deployment section of VC docs, http://msdn2.microsoft.com/en-us/library/ms235285(en-US,VS.80).aspx

    Nikola



  • Marcio Monego

    I switched from the debug version of the DLLs to the release version by switching the runtime library to Multithreaded DLL from Multithreaded Debug DLL.

    Now I get the error below:

    Dependent Assembly Microsoft.VC80.MFC could not be found and Last Error was The referenced assembly is not installed on your system.

    I assume this is saying that I have not deployed the nessicary MFC DLLs to the server   I have never used MFC as a shared DLL before so I am not sure how I should deploy them, can you give me an guideance

    Thanks


  • Resolve Partial Assembly failed for Microsoft.VC80.DebugCRT