DCOM EXCE权限配置问题

时间:2023-03-09 06:07:22
DCOM EXCE权限配置问题

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

以下为博主经过各种尝试,拟写的步骤,亲测可用:

1、首先找到项目中引用的【Microsoft.Office.Interop.Excel.dll】,查看其版本;

DCOM EXCE权限配置问题

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

DCOM EXCE权限配置问题

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"用户,然后赋予"本地访问"权限.

图解如下:

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

二、IIS对应应用程序池的设置

找到webapi的发布网站,查看网站对应的应用程序池。

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

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

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

三、设置网站的匿名身份认证

找到webapi的网站,选择身份认证

DCOM EXCE权限配置问题

DCOM EXCE权限配置问题

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

DCOM EXCE权限配置问题

设置好了之后重启IIS。

cmd->iisreset

四、如果是Windows Server 2008(或者2012),需要在指定的文件夹里面建立对应的桌面文件夹。解决方式为:

在C:/Windows/System32/config/systemprofile和C:/Windows/SysWOW64/config/systemprofile目录下创建名为Desktop目录即可

注:关于交互式用户和启动用户

博主通过本地电脑,远程访问了设置DCOM 标识设置为"交互式用户",操作时,没有问题,但是,如果关闭了远程,则还会报这个错误;

之后,博主又把标识改为“启动用户”,不管远程与否,都可以正常使用;在这里建议大家在设置DCOM的时候,标识选择“启动用户”;