DCOM EXCE权限配置问题

Posted 王俊成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DCOM EXCE权限配置问题相关的知识,希望对你有一定的参考价值。

检索COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005;

以下为博主经过各种尝试,拟写的步骤,亲测可用:
1、首先找到项目中引用的【Microsoft.Office.Interop.Excel.dll】,查看其版本;

2、如果未安装EXCEL,则可根据此【Microsoft.Office.Interop.Excel.dll】版本下载对应的 office版本安装,如果已经安装了OFFCIE,版本号不一样,那么,请更改引用和当前OFFCIE版本保持一致,或者根据当前【Microsoft.Office.Interop.Excel.dll】版本重新安装OFFICE,总之,必须保持一致;以下为网友提供的版本对照表;

3、在服务器上安装office的Excel软件.
4、在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
5、依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
6、在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框 (这里有的人打开之后找不到Microsoft Excel应用程序,是因为有的版本是64位,有的是32位,如果是32的OFFICE可以通过comexp.msc -32来打开组件服务)
7、点击"标识"标签,选择"交互式用户"
8、点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
9、依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
图解如下:





二、IIS对应应用程序池的设置
找到webapi的发布网站,查看网站对应的应用程序池。


然后设置对应的应用程序池的标识为NetworkService

三、设置网站的匿名身份认证
找到webapi的网站,选择身份认证


右键→编辑,选择应用程序池标识

设置好了之后重启IIS。
cmd->iisreset

四、如果是Windows Server 2008(或者2012),需要在指定的文件夹里面建立对应的桌面文件夹。解决方式为:
在C:/Windows/System32/config/systemprofile和C:/Windows/SysWOW64/config/systemprofile目录下创建名为Desktop目录即可

注:关于交互式用户和启动用户
博主通过本地电脑,远程访问了设置DCOM 标识设置为"交互式用户",操作时,没有问题,但是,如果关闭了远程,则还会报这个错误;
之后,博主又把标识改为“启动用户”,不管远程与否,都可以正常使用;在这里建议大家在设置DCOM的时候,标识选择“启动用户”;

以上是关于DCOM EXCE权限配置问题的主要内容,如果未能解决你的问题,请参考以下文章

我的电脑-DCOM配置-netprofm ,接着右键属性-安全-启动和激活权限-自定义是灰色的没法选择?

如何配置OPC DCOM

解决PHP调用Word组件DCOM权限问题

解决PHP调用Word组件DCOM权限问题

Office DCOM 组件交互权限设置

电脑DCOM配置里没有word