2

当我的 Web 服务尝试通过我的 .net webb 服务以编程方式打开 MS Word 文档时,我收到了上述错误。当我通过 Visual Studio 运行 Web 服务时,它工作正常,但是当我在 IIS 7 上部署 Web 服务时,出现错误

由于以下错误,检索具有 CLSID {00020906-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80070005

我也看到了类似的问题,并在 Stackoverflow、MSDN 和其他资源上尝试了他们的解决方案,但没有一个对我有用。大多数问题都可以追溯到 2008/2007 年。

我尝试使用 dcomcnfg 命令更改 DCOM 设置,并添加了“网络服务”、“网络”用户,还在“Microsoft Word 文档”组件属性中添加了我自己的用户 ID 并授予他们完全权限。我还在 web.config 中添加了 impersonate=true 属性。在完成所有这些之后,我也遇到了错误。谁能帮帮我?

我正在 MS vista 32 位操作系统上尝试所有这些,Office 版本是 Office 2003。

4

1 回答 1

2

我没有使用 Web 服务,而是 Windows 服务,当服务调用试图创建 Excel 对象的可执行文件时,我也产生了相同的错误。我还阅读了许多其他资源,但没有一个对我有用。有几个非常接近,这导致我通过以下方式解决了这个问题:

  1. 我去了服务器...开始..运行并运行“dcomcnfg”。
  2. 导航到组件服务...计算机...我的电脑...DCOM 配置...Microsoft Excel 应用程序。
  3. 打开属性并选择身份选项卡。
  4. 选择“启动用户”(而不是“交互式用户”)单选按钮,然后单击确定关闭属性对话框。

错误消失了,应用程序在服务运行时生成 Excel 文件。

我正在调查是否可以通过其他方式从 Windows 服务中获得此功能,因为我不确定此解决方案是否会产生副作用。如果我想出其他任何东西,我会进一步更新。

于 2010-08-25T20:43:32.260 回答