Microsoft.Office.Interop.Outlook --> 800700c1 不是有效的 Win32 应用程序

时间:2021-03-09 17:20:38

标签: c# .net outlook office-interop

我“拥有”一个 C# WinForms 桌面应用程序,每天有大约 30-50 名用户使用它(通常在他们轮班期间经常使用)。它所做的一件事是调用 Microsoft.Office.Interop.Word 和/或 Microsoft.Office.Interop.Outlook 以打开一个新的 Word 或 Outlook 文档,然后用信息填充该文档。然后,用户可以在保存 Word 文档或发送电子邮件之前手动覆盖。

对于ONE 用户,似乎他突然无法再使用该应用打开新的 Outlook 邮件。它抛出异常:

由于以下错误,检索具有 CLSID {0006F03A-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:800700c1 不是有效的 Win32 应用程序。 (来自 HRESULT 的异常:0x800700C1)。

它引用了我们所做的行: Outlook.Application Outlook = new Outlook.Application();

我已经在谷歌上搜索了几个小时,试图弄清楚“为什么只有这个用户?”以及如何修复它。我让他运行 Office 365 的“在线修复”功能。我让他尝试重新注册 Microsoft.Office.Interop.Outlook.dll 文件。没变化。我在那里找到了一些文章,这些文章建议将一个人的项目设置为“任何 CPU”的构建平台目标,这可能会导致问题。所以我为这个用户创建了一个特殊版本,它被设置为“x86”(根据建议)。没变化。 (同时,顺便说一句,该应用程序可以交给 Word 没问题!)

我不知道接下来要做什么来尝试解决这个问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

因此,我的用户决定确保他已更新到最新版本的 Windows 10。(尽管公司多年来一直在管理每台设备的 Windows 更新。)

但是这样做解决了问题。确实是操作系统安装问题。

相关问题