检索 COM 类工厂中 CLSID 为 00021A20-0000-0000-C000-000000000046 的组件时失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检索 COM 类工厂中 CLSID 为 00021A20-0000-0000-C000-000000000046 的组件时失败相关的知识,希望对你有一定的参考价值。

检索 COM 类工厂中 CLSID 为 00021A20-0000-0000-C000-000000000046 的组件时失败,原因是出现以下错误: 80080005。
要怎么做呢?

选择开始菜单->执行
输入"dcomcnfg"并按回车键
这时会看到“元件服务"MMC界面(也可通过 控制面板->系统管理工具->元件服务进入)
展开到 元件服务->电脑->我的电脑->DCOM设定
右键""Microsoft Excel Application"并选择 属性,进入属性设定界面
选择如下的“安全性(Security)”设定选项卡
在“启动和启用权限(Launch and Activation Permissions)"中选择"自订(Customize)"
按右边的“编辑(Edit)",可看到如下画面
WINDOWS XP

WINDOWS 2003

点击"新增(add)"如下界面
点击"位置(Locations)"选择本地计算机,如下面的"CCROWE"

如果是Windows XP,在下面的对话框中输入"ASPNET"帐号名称,如果是Windows 2003 Server,必须要输入应用程序池(Application Pool)的运行帐号,默认是"Network Service"
WINDOWS XP

注意:最快捷的方式是直接输入电脑名称和帐号像如下格式:CCROWE\ASPNET

WINDOWS 2003 SERVER

按"确定(OK)"
确保所选择的帐号(window xp是ASPNET,windows 2003 server是应用程序池的标识帐号,默认为network service)选上了以下权限:
本地启动(local launch) : 允许(allow)
远端启动(Remote launch) : 空白(blank)
本机启用(Local Activation) : 允许(allow)
远端启用(Remote Activation) : 空白(blank)

设定后如下所示:
WINDOWS XP

WINDOWS 2003 SERVER

按下"确定(OK)",看看现在你的web应用程序是否能工作正常了^^
注意:如果你是部署到windows 2003 server上,必须添加设定应用程序池(Application pool)的标识帐号而不是ASPNET帐号

解决方案: 配置 DCOM 中 word 应用程序:
在window server 2003下设置 Office 自动化服务器,请按照下列步骤操作:
1. 以管理员身份登录到计算机,安装Office2003。
2. 启动要自动运行的 Office 应用程序。这会强制该应用程序进行自我注册。
3. 单击开始,单击运行,然后键入 DCOMCNFG。选择要自动运行的应用程序。应用程序名称如下所示:
Microsoft Word 文档
单击属性打开此应用程序的属性对话框
4. 单击标识选项卡,然后选择交互式用户。
5. 在 DCOM 配置对话框中,单击默认安全性选项卡。
6. 单击"启动和激活权限"和访问权限的"自定义"。验证访问权限中是否列出下列用户,如果没有列出,

则添加这些用户:
SYSTEM
INTERACTIVE
Administrators
IUSR_<machinename>*
IWAM_<machinename>*
NETWORK SERVICE
后三个需要添加"本地激活"权限.
7. 单击确定关闭 DCOMCNFG。
参考技术A 配置DCOM

具体配置方法如下:

1:在服务器上安装office的Excel软件.

2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

5:点击"标识"标签,选择"交互式用户"

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.

注:在XP系统中还要添"加机器名/ASPNET"用户的上述权限。
在window 2003 server中,如果还出现8000401a错误,在标示里面选择“下列用户”,填写登录计算机的并拥有对Excel本地操作权限的用户。或者在标示里面选择“启用用户”

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

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

 

解决办法“

1:在服务器上安装office的Excel软件.

2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

5:点击"标识"标签,选择"交互式用户"

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,下面连个一样填加,everyone,重启IIS。

以上是关于检索 COM 类工厂中 CLSID 为 00021A20-0000-0000-C000-000000000046 的组件时失败的主要内容,如果未能解决你的问题,请参考以下文章

检索com类工厂中clsid

检索 COM 类工厂中 CLSID 为 的组件时失败,原因是出现以下错误: 80040154。

检索COM类工厂中CLSID为{000245000-0000-0000-C000-000000000046的组件时失败,出现错误以下80040154

你好,请指教: System.Runtime.InteropServices.COMException: 检索 COM 类工厂中 CLSID

检索 COM 类工厂中 CLSID 为 96CA7D50-992E-4EB8-B56F-309593A1796E 的组件时失败,原因是出现以下错误

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