Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问。
这几天在写一个导出word的功能,使用 Microsoft.Vbe.Interop.dll和Office.dll 在本地都可以正常运行,但是上传到服务器后就报错,如下图:
对于此问题,也在网上查了一些资料,原因就是
这个服务组件的权限问题。
在服务器上,首先需要安装OFFICE软件
1,运行dcomcnfg打开组件服务
2,依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
3,找到"Microsoft Word应用程序" 如下图:
4.如果找不到Microsoft Word 97-2003 文档,
1)运行comexp.msc -32打开组件服务(这个是32位,上面是64位)
2)如果还是没有组件则需要安装Office软件,这样Microsoft Word,Excel,PowerPoint这些组件就都有了。
5.右键[属性] 修改[标识],启动用户---->交互式用户
6 修改[安全]
添加“IIS_IUSRS”用户,并在权限中选择【本地启动】、【本地激活】,如下图:
如果还有以下错误:
Exception Details: System.ComponentModel.Win32Exception: 拒绝访问。
在webconfig配置文件中加入如下节点:
<system.web> <identity impersonate="true" userName="administrator" password="Dsog7GgETDhF"/> <system.web>
最后确定保存,至此解决问题。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步