【问题标题】:Office Interop Issue on Windows ServerWindows Server 上的 Office 互操作问题
【发布时间】:2011-11-25 08:43:15
【问题描述】:

我正在尝试使用以下行从我的应用程序访问服务器上的 Word Office 互操作:

Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();

然而,这会导致抛出异常:

Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

有谁知道我可以做些什么来让我的程序访问它?

【问题讨论】:

  • 不要在服务器上自动化 Office。效果不好。
  • 会不会是你的目标com库没有安装在服务器上?
  • 我已回答但同意 SLaks。办公自动化适用于桌面而不是服务器。
  • @Slaks 我有一个应用程序可以撕毁 Office 文档,搜索它们的链接,然后对其进行测试。我需要这个给所有懒惰的内容所有者进行死链接监管。我遇到了同样的问题 - 如果没有在 Web 服务器上安装 Office,我将无法使用 Web/控制台应用程序来完成这项工作。关于如何自动化 Office 格式链接检查的任何建议? PDF 是小菜一碟,因为您不需要客户端 (iTextSharp)

标签: c# com permissions windows-server-2008 office-interop


【解决方案1】:

您需要为运行 IIS 的用户授予“启动和激活”权限。

开始-->运行-->dcomcnfg

在组件服务\计算机下右键单击“我的电脑”

权限在 COM 安全下

【讨论】:

  • 我没有找到在 dcomconfig 中列出的 Microsoft Office Word 97 -2003 组件,即使那里安装了 Office。这是 windows 2008 服务器
猜你喜欢
  • 2013-03-27
  • 2013-06-09
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 2019-12-24
  • 1970-01-01
  • 2018-05-27
相关资源
最近更新 更多