由于以下错误:80070005 访问被拒绝,无法检索具有 CLSID 的组件的 COM 类工厂。

10
我有一个托管在 IIS 上的 asp.net 应用程序,它使用 "Microsoft Word 14.0 Object Library" Com 库。我正在使用它将 Word 文档转换为 HTML,在我的计算机上它可以正常工作。我的计算机上安装了 Office 2007。但是当我尝试在服务器上运行我的应用程序时,它会给出以下错误:
“检索 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败,原因是发生以下错误:80070005 访问被拒绝。(来自 HRESULT: 0x80070005 E_ACCESSDENIED)”
我已经授予 aspnet 用户和其他用户完全访问权限,但这没有起作用。
1个回答

15
  1. 从“开始”菜单中,点击“运行”并输入Dcomcnfg.exe。
  2. 在组件服务中,点击控制台根目录,在组件服务中展开计算机并展开我的电脑,展开DCOMConfig。
  3. 搜索Microsoft Word 14.0对象库,点击它。
  4. 右键单击并选择属性。
  5. 在安全选项卡中,选择“启动和激活”部分中的“自定义”。
  6. 单击编辑并添加应用程序池的标识,该标识是您的应用程序正在运行的标识。
  7. 重复上述步骤以进行“访问权限”设置。

更多信息,请注意:如果您在web.config中设置了身份模拟,则还需要将该用户添加到dcomcnfg中。 - MaliEbbae
不管是本地启动和浏览IIS网站,我都不得不激活“远程访问”。为什么? 第二个问题:为什么所有的启动检查都是必要的?没有这些检查就无法使其工作。 - florian.isopp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接