Warm tip: This article is reproduced from serverfault.com, please click

其他-Outlook异常代码:0xc0000005 Visual Studio C#

(其他 - Outlook Exception code : 0xc0000005 Visual studio C#)

发布于 2020-12-03 12:35:01

我开发了一个应用程序,可让你从Outlook邮箱的电子邮件中恢复文件。

为了帮助我完成此任务,我使用了Interop.Microsoft.Office.Interop.Outlook库。

我们正在Windows 2012 R2服务器上使用此可执行文件。当我手动运行它时,它可以完美运行。但是,当我使用Windows创建计划任务时,出现此错误:

Faulting application name: OUTLOOK.EXE, version: 16.0.5071.1000, time stamp: 0x5f629f8a
Faulting module name: mso30win32client.dll, version: 16.0.5080.1000, time stamp: 0x5f7cb315
Exception code: 0xc0000005
Fault offset: 0x0008ecda
Faulting process id: 0x474c
Faulting application start time: 0x01d6c9690e7c78aa
Faulting application path: C:\Program Files (x86)\Microsoft Office\Office16\OUTLOOK.EXE
Faulting module path: C:\Program Files (x86)\Common Files\Microsoft Shared\Office16\mso30win32client.dll
Report Id: 4c375292-355c-11eb-80d7-005056ac1822
Faulting package full name: 
Faulting package-relative application ID: 

然后我有这个错误:

Application: DepotMailMcp.exe
CoreCLR Version: 4.700.20.41105
.NET Core Version: 3.1.8
Description: The process was terminated due to an unhandled exception.
Exception Info: 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 (0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
   at DepotMailMcp.Program.ProcessMail(String email, String lastMail, XmlNode actualNode) in C:\Users\Florian\Documents\Gitlab\DepotMCP\DepotMailMcp\DepotMailMcp\Program.cs:line 147
   at DepotMailMcp.Program.LaunchApp() in C:\Users\Florian\Documents\Gitlab\DepotMCP\DepotMailMcp\DepotMailMcp\Program.cs:line 121
   at DepotMailMcp.Program.Main(String[] args) in C:\Users\Florian\Documents\Gitlab\DepotMCP\DepotMailMcp\DepotMailMcp\Program.cs:line 46

在我的程序的第147行,我有这个:

Application appOutlook = new Application();

我终于得到了最后一个错误:

Faulting application name: DepotMailMcp.exe, version: 1.0.0.0, time stamp: 0x5f3ed60d
Faulting module name: KERNELBASE.dll, version: 6.3.9600.19724, time stamp: 0x5ec50c3e
Exception code: 0xe0434352
Fault offset: 0x000156e8
Faulting process id: 0x3e80
Faulting application start time: 0x01d6c9690e58b558
Faulting application path: C:\Applications_MCP\Mail_Depot\Application\DepotMailMcp.exe
Faulting module path: C:\Windows\SYSTEM32\KERNELBASE.dll
Report Id: 5e785666-355c-11eb-80d7-005056ac1822
Faulting package full name: 
Faulting package-relative application ID: 

我已将计划任务配置为与手动用户在同一用户上启动,并且我尝试以最高特权运行中启动它,但没有任何效果。

你有解决我问题的想法吗?

ps:我们使用Outlook 2016

Questioner
Biscotto
Viewed
11
Dmitry Streblechenko 2020-12-03 23:21:47

通常,Office应用程序(尤其是Outlook)无法在服务(例如Windows Scheduler)中运行。

你将需要使用EWS(对于Exchange Server),扩展MAPI(仅C ++或Delphi)或Redemption(任何语言,其RDO对象系列都是MAPI包装器)。