通过 asp.net 访问 Office Word 对象模型会导致“由于以下错误而失败:80070005 访问被拒绝”。

2023-11-21

我开发了一个网站,允许用户上传 Office 文档,然后使用 Office 对象模型将文档转换为 HTML 文件,然后将其显示在 iFrame 中。

当然,我已经包含了对 Office.interop.word 的引用,并且该网站在我的开发计算机上运行良好。当我将其上传到生产服务器时,该网站功能正常,直到我尝试上传文档。我最初收到类似的错误,指出“COM 对象未注册”。我意识到我的生产服务器上没有安装 Word。所以我安装了word,现在当服务器尝试访问单词对象模型时,我收到以下错误:

由于以下错误,检索 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80070005 访问被拒绝。 (HRESULT 异常:0x80070005 (E_ACCESSDENIED))

我在注册表中搜索了对应的CLSID,找到了对应的文件夹。我向 IUSR_ 帐户添加了完全控制权,由于错误持续存在,我最终向“所有人”添加了完全控制权,并确保这些权限继承到文件夹的其余部分。然后,我向 IUSR_ 添加了完全控制权,并最终再次向我的 Microsoft Office 文件夹中的“每个人”添加了完全控制权。

I 不知道要授予哪些其他权限以及在哪里才能使此“访问被拒绝”错误消失。我一定是在错误的地方授予了它们,因为据我所知,我不能比“每个人”“完全控制”更宽容。

任何人都可以阐明吗?


好的,我通过以下步骤解决了这个问题:

  1. 在命令行中输入 DCOMCNFG
  2. 展开控制台根目录 > 组件服务 > 计算机,右键单击我的电脑,然后选择属性
  3. 在选项卡 COM 安全 > 启动和激活权限中单击编辑默认值
  4. 添加用户(例如 IIS_IUSRS)或服务
  5. 选中允许本地启动和本地激活

然后Excel、Word等应用程序就可以工作了,祝你好运。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 asp.net 访问 Office Word 对象模型会导致“由于以下错误而失败:80070005 访问被拒绝”。 的相关文章

随机推荐