什么会导致 Outlook 自动化突然失败,以及如何恢复它?

What would cause Outlook automation to suddenly fail, and how to get it back up?

我有一个应用程序可以生成电子邮件并弹出一个 OUtlook 对话框,向用户显示将要发送的内容。它一直运行良好,但没有更改代码,现在无法正常工作。生成的异常是:

异常消息:为 CLSID 为 {0006F03A-0000-0000-C000-000000000046} 的组件检索 COM class 工厂失败,原因如下:80080005 服务器执行失败(异常来自 HRESULT:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。 异常来源:mscorlib

...并在这一行抛出:

Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();

Outlook 本身运行良好;事实上,我已经将我的应用程序设置为使用 Outlook 发送这些电子邮件,但每当发生异常时,我也会通过我的 gmail 帐户向自己发送电子邮件 - 这就是我获得此异常信息的方式 - 屏幕上没有任何显示或表示有问题 - Outlook 邮件消息从未出现。

如果这种情况持续存在,我也会将我的 Outlook 邮件发送代码更改为 gmail,但我更愿意为此坚持使用 Outlook。

Mots 可能导致此错误的原因是安全上下文不匹配 - Outlook 或您的应用程序 运行 是否处于提升的(运行 作为管理员)上下文中?