首页 > 代码库 > Retrieving the COM class factory for component with CLSID XX failed due to the following error: 80070005 拒绝访问。

Retrieving the COM class factory for component with CLSID XX failed due to the following error: 80070005 拒绝访问。

环境及异常信息说明

环境说明: Win2008 R2 企业版 x64 、IIS 7.0

功能说明:服务端操作Excel,(上传Excel到服务器,并在服务器端读取Excel中的数据)

异常信息:Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 拒绝访问。 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).  

 

处理过程

1.服务器端必须安装Office Excel软件;

2. 【开始】--【运行】--输入“dcomcnfg”--【确定】,打开【组件服务】窗口

3.【组件服务】--【计算机】--【我的电脑】--【DCOM配置】--【Microsoft Excel Application】(x64为系统需要按照下面的方法配置)         

  若找不到【Microsoft Excel Application】,请参照以下方法:           

  ①【开始】--【运行】--输入“mmc -32”--【确定】,打开【控制台】窗口;           

  ② 选择【文件】—【添加/删除管理单元】--在“可用的管理单元”中选择【组件服务】--单击【添加】--【确定】;

4.右键 -- 【属性】--【安全】,“启动和激活权限”、“访问权限”、“配置权限”都选择【自定义】,三项都添加“IIS_IUSRS”用户,依次勾选1,“本地访问”“本地激活” 2,“本地访问” 3,“读取”;出于安全考虑其它项建议不勾选。

5.在【标识】选项卡中选择“交互式用户”

6.全部设置完毕自行测试,无需重启。如还出现拒绝访问等情况,在第4步中勾选所有权限,并添加“NETWORK SERVICE”、“ASPNET”(server 2003、XP系统)用户;第5步尝试用其它两种账户。

Retrieving the COM class factory for component with CLSID XX failed due to the following error: 80070005 拒绝访问。