繁体   English   中英

80080005 使用 Word 自动化时服务器执行失败

[英]80080005 Server execution failed when using Word Automation

我有一个操作 Word 文档的.Net C# 应用程序。

我正在使用Microsoft.Office.Interop.Word.dll ,Office 2010 的一部分,产品版本 14.0.xxx。 调用:

using Microsoft.Office.Interop.Word;

...

Application app = new Application();

导致以下错误:

Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

我还注意到,当生成此错误时,会创建一个 WINWORD.EXE 实例并挂起,但该文件与 Office 365 产品版本 16.0.xxx 相关联。

我假设错误的(至少一个)来源是我正在使用的.dll 与我的开发机器上安装的 Word 版本之间的不兼容。

问题

是否可以在服务器上不安装 Microsoft Office 的情况下执行办公自动化?

您无需在服务器上安装 MS 即可使用 Office 自动化。

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

是否可以在服务器上不安装 Microsoft Office 的情况下执行办公自动化?

不,这是不可能的。 相反,如果您只处理开放的 XML 文档,您可以考虑使用 开放的 XML SDK 文档。 否则,您可以考虑使用为服务器端执行而设计的任何第三方组件,例如 Aspose。

Office 文章服务器端自动化的注意事项陈述如下:

所有当前版本的 Microsoft Office 都经过设计、测试和配置,可作为最终用户产品在客户端工作站上运行。 他们假设一个交互式桌面和用户配置文件。 它们不提供满足设计为无人值守运行的服务器端组件的需求所必需的可重入性或安全性级别。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM