我有一个操作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的一个实例,但该文件与Office365,产品版本16.0.xxx相关联。
我假设(至少有一个)错误来源是我使用的.dll与我的开发机器上安装的Word版本不兼容。
问题
是否可以在不安装Microsoft的情况下执行办公自动化?
发布于 2019-11-06 19:29:43
是否可以在不安装Microsoft的情况下执行办公自动化?
不这是不可能的。相反,如果只处理打开的开放XML SDK文档,则可以考虑使用XML。否则,您可以考虑使用为服务器端执行而设计的任何第三方组件,例如Aspose。
办公服务器端自动化的几点思考的文章陈述如下:
Microsoft的所有当前版本都设计、测试并配置为在客户端工作站上作为最终用户产品运行。它们假设一个交互式桌面和用户配置文件。它们不提供必要的重入级别或安全性,以满足设计为无人值守运行的服务器端组件的需求。 Microsoft目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)的Microsoft应用程序的自动化,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。 如果您正在构建在服务器端上下文中运行的解决方案,则应尝试使用已为无人值守执行而安全的组件。或者,您应该尝试找到允许至少部分代码运行客户端的替代方案。如果您使用来自服务器端解决方案的Office应用程序,则该应用程序将缺乏许多成功运行所需的功能。此外,您将承担风险与您的整体解决方案的稳定性。
发布于 2019-11-06 18:35:48
您不需要在服务器上安装MS才能使用Office自动化!
Microsoft目前不建议也不支持来自任何无人值守、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)的Microsoft应用程序的自动化,因为在此环境中运行Office时,Office可能会出现不稳定的行为和/或死锁。
https://stackoverflow.com/questions/58736431
复制相似问题