簡體   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