Search code examples
outlookcomoutlook-redemption

Accessing Outlook COM object results in Error 0x80080005 CO_E_SERVER_EXEC_FAILURE


A couple of my customers are getting this error when my product attempts to access Outlook via out-of-process Outlook COM objects and Redemption COM objects.

I've read that this error can occur if my product and Outlook are running at different privilege levels (e.g., Outlook as Administration, my product as Standard User). Are there any other possible causes?

Here's the error call stack:

System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
at
System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType)
at
System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType)
at
System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj)
at
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at
System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at
System.Activator.CreateInstance(Type type, Boolean nonPublic)
at
System.Activator.CreateInstance(Type type)


Solution

  • It is either because the out-of-proc object (Outlook) crashed and the COM proxy in your address process can no longer talk to it or because the security contexts are different.