Hello,
I am working on getting a classic ASP application working under IIS 7 on a 64-bit Windows Server 2008 box. It took me a long time to figure out how to access my VB6 COM+ component from ASP server-side code, but I got that working once I turned on the "Enable 32-bit Applications" property on the application pool that the app is running under.
But now I want to be able to call the COM object from client-side code using RDS. I am able to create the RDS DataSpace object and then a reference to the COM object without an error, but when I try to call the object I am getting "Internet Server Error". Here is my sample code which is in a client-side vbscript routine:
On Error Resume Next
Set objDS = CreateObject("RDS.DataSpace")
If Err.number <> 0 Then Exit Sub
Set objTest = objDS.CreateObject("MyObject.Code", "http://server1")
If Err.number <> 0 Then Exit Sub
Result = objTest.TestFunction()
If Err.number <> 0 Then
Msgbox "Error: " & Err.Description
Else
Msgbox "Test successful"
End If
This code works perfectly under IIS 6 on Windows 2003 when IIS6 is configured properly. In IIS6 you need to add msadcs.dll as a Web Server Extension and create an MSADC virtual directory and application. You also need to set the Execute Permissions on the MSADC application to "Scripts and Executables".
I am wondering if I am missing the IIS7 equivalent of one of those steps. I have added msadcs.dll to the ISAPI and CGI Restrictions list. I have also enabled ISAPI-dll under Handler Mappings. Am I missing something else?
The object MyObject.Code is registered properly and is running under a COM+ application. I have also added a MyObject.Code registry key under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch. I have no problem calling it from server-side ASP code, but I just can't seem to call it from client-side code using RDS.
Any help would be greatly appreciated!
Jay