Why am I receiving exception from Office's Outlook library?

33

I have an application that calls

Email hello = new Email(appropriate constructor);
hello.Email_Send();

I'm receiving the exception:

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)).

from System.Runtime.InteropServices.COMException.

using O = Microsoft.Office.Interop.Outlook;    
class Email
{
    public void Email_Send()
    {
        O.Application outlook = new O.Application(); //Exception thrown here.
        O.MailItem message = outlook.CreateItem(O.OlItemType.olMailItem);
        message.To = Receiver;
        message.CC = Sender;
        message.Subject = Subject;
        message.Body = "This is an automated message sent at " + DateTime.Now.ToString("HH:mm:ss") + " about " + Body_Topic + System.Environment.NewLine + Body_Content ;
        message.Send();
    }
}

This error has never happened previously, and there has been no change to the code that I know of. http://support.microsoft.com/kb/825118 doesn't seem to fit the my symptoms - My computer doesn't stop responding, etc. Any help diagnosing the issue would be greatly appreciated!

c#
outlook
office-interop
asked on Stack Overflow Oct 12, 2012 by Zee • edited Oct 13, 2012 by SliverNinja - MSFT

3 Answers

87

This error was caused by visual studio being run as admin. Outlook doesn't allow separate users to access the same mailbox (I had the outlook application open on desktop). Even though I have local admin access w/ my domain user, running VS as admin must associate the process to a different user object? Not exactly sure how this works, but... Resolved.

answered on Stack Overflow Oct 13, 2012 by Zee
5

I ran into the same issue, and as previously said: if Visual Studio is running as Administrator then Outlook prevents another instance with a different user. My VS solution is starting several projects, and I need it to run as Administrator, so what I did is run Outlook as administrator while debugging. This solved my problem.

answered on Stack Overflow Jul 31, 2017 by lukiller
0

Posting one of the comments as an answer.

When we close the running instance of Outlook it works like a charm.

In my situation I'm running under VMs with special security software. On my developer desktop it worked fine when Outlook was open.

But in my secured VM I had to close outlook in order to get this to work. This is likely to due our security software.

When outlook is left running: Unhandled Exception: System.Runtime.InteropServices.COMException: 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)).

When it is not running, it works fine.

answered on Stack Overflow Apr 2, 2021 by Nicholas DiPiazza • edited Apr 2, 2021 by Nicholas DiPiazza

User contributions licensed under CC BY-SA 3.0