Error when profiling COM+ in Windows 2008 R2
pcorkum
Posts: 7
I cannot seem to figure this problem out and am finding little information on the web concerning the error that I am getting. I am using Windows Server 2008 R2 and attempting to profile a COM+ application. I can begin profiling the application without problem. But I am using a locally hosted web site to test the COM+ app and am getting the following error returned from IIS:
The common language runtime is not available (Exception from HRESULT: 0x80004028)
Any help would be appreciated.
The common language runtime is not available (Exception from HRESULT: 0x80004028)
Any help would be appreciated.
Comments
* You need to be running a 64-bit version of Windows
* The COM+ component should be installed as a 32-bit component
* It must also be configured with an 'Any CPU' platform target
* Communications with the component must be from a .NET application using COM+ interop
The current version of ANTS will see that the component can be launched with a 64-bit server process and will do so without paying any attention to the way the component is actually installed. Almost everything works in this situation (oddly enough, including 32-bit native applications which you'd expect to be most likely to fail), except when a .NET application tries to use COM+ interop to communicate with the component - it tries to switch to .NET remoting and due to an interaction that's pretty bizarre gets confused when it finds that the component is running in 64-bit mode and reports the error that you're seeing.
You can work around the issue by ensuring that the component is installed as 64-bit, or by changing the project configuration so that the platform target is set to x86 (the former fixes .NET's behaviour, and the latter fixes ANTS). We've scheduled this particular bug to be fixed for version 6.
Software Developer
Red Gate Software Ltd.