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

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