0

我正在尝试以编程方式编辑 Word 文档。但是,当我调试并第一次尝试创建 Word.Application 时,我得到

由于以下错误,检索具有 CLSID {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80080005 服务器执行失败(来自 HRESULT 的异常:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。

我看到不再支持 Word.Interop,所以我开始使用 NetOffice,但没有任何改变,所以也许我没有改变底层功能。

我尝试了许多 DCOM 配置并以管理员身份运行我的 Visual Studio 实例,但没有任何变化。当前身份验证级别为无,我指定“此用户”并使用具有所有安全权限的帐户。我之前也尝试过交互式用户和启动用户。我以前从来没有遇到过调试器的问题,只是在它被部署在服务器上之后,所以这让我很困惑。

我正在运行 Windows 8.1(64 位)和 Office 2013(32 位)。我会很感激任何想法。NetOffice 对这个问题有影响吗?谢谢你。

4

1 回答 1

0

请参阅您可能会收到“错误代码 80080005 -- 服务器执行失败”。启动许多 COM+ 应用程序时出现错误消息

无论如何,Microsoft 目前不推荐也不支持任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)的 Microsoft Office 应用程序自动化,因为 Office 可能会表现出不稳定的行为和/或在此环境中运行 Office 时出现死锁。

如果您正在构建在服务器端上下文中运行的解决方案,您应该尝试使用已确保无人值守执行安全的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用来自服务器端解决方案的 Office 应用程序,该应用程序将缺少许多成功运行所需的功能。此外,您将承担整体解决方案稳定性的风险。在Office 服务器端自动化的注意事项文章中阅读有关此内容的更多信息。

如果您只处理开放 XML 文档,请考虑使用Open XML SDK ,有关详细信息,请参阅欢迎使用 Open XML SDK 2.5 for Office。或者只是尝试使用为服务器端执行而设计的任何第三方组件。

PS NetOffice 无法帮助您避免此类问题,因为它基于 COM 自动化技术。

于 2017-08-07T11:42:51.170 回答