I created a Windows service (exe based on the ATL Visual Studio wizard) that provides a COM interface. There is no problem starting the In-proc server or the Windows service. I need a Windows service, as I need some processes to be available outside of IIS access.
I create several web pages (aspx / C #) that invoke my service and everything did a great test on Visual Studio.NET Development Server. Now I'm trying to redirect web pages to IIS 7 (works on Windows 7) for further testing. But, when pages work under IIS, calls to my COM interface all crash on error
"Retrieving the factory COM class for the component failed due to the following error: 80070005 Access denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).
I checked the service:
- registered in Windows under HKCR \ Clsid \ (note, I registered the launch of "myservice.exe / RegServer", since regsvr32.exe works only with dll)
- myservice.exe has read and execute permissions for user IIS_IUSRS
- is a 64-bit exe (so it should load into the default IIS application space)
- Works great in the .NET Developement Server debugger (but not in IIS)
Any ideas why this won't work? Is there anything related to the COM interfaces contained in exe vs dll?
Any IIS features calling a COM interface open in a Windows service?
source share