tags:

views:

14

answers:

1

I have changed my Visual Studio 2010 to use my local IIS7 instead of Cassini for my WCF service. When I test in debug mode in Cassini I have no problems instantiating Redemption.dll. When I switch Visual Studio on the project properties to use IIS7 virtual directory I start debugging and stepping through my code and finally try to instantiate Redemption.dll again and I get this error...

Retrieving the COM class factory for component with CLSID {741BEEFD-AEC0-4AFF-84AF-4F61D15F5526} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

I have found the path that I access from within making a reference in VS2010. I then ensured that it was in fact registered by unregistering and re registering again. Then I tested it in Cassini with no problems went back to having Visual Studio run in IIS7 instead and got the same error. So I am pretty sure it is registered.

I have run the AppPool as the default of AppPoolIdentity, MyOwnAdminAccount, LocalSystem, and finally NetworkService. None of these changes made seeing the Redemption.dll COM object visibly registered when debugging under IIS7.

please help

+1  A: 

Make sure that your code runs as 32 bit - since Redemption loads MAPI in-proc, is bitness must match that of the MAPI system. And since Redemption is an in-proc COM library, the host app must also be 32 bit. 64 bit version of Redemption is in beta, but Outlook 2010 64 bit is the only way to get the 64 bit version of MAPI installed.

Dmitry Streblechenko
I added Redemption to COM+ services. This seemed to resolve the issue of finding the COM object as registered. Whether or not that relates to resolving the 32bit vs 64bit is a mystery to me. I suspect it could. In any case after placing Redemption.dll in COM+ my issued was resolved.
apolfj