91493441-5A91-8700-00AA0060263B原因0x800700022系统找不到指定的

有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾。
[问题点数:100分]
本版专家分:0
CSDN今日推荐
本版专家分:51873
2016年4月 .NET技术大版内专家分月排行榜第二2016年2月 .NET技术大版内专家分月排行榜第二
2017年3月 .NET技术大版内专家分月排行榜第三2017年2月 .NET技术大版内专家分月排行榜第三2016年9月 .NET技术大版内专家分月排行榜第三2016年8月 .NET技术大版内专家分月排行榜第三2016年7月 .NET技术大版内专家分月排行榜第三2016年3月 .NET技术大版内专家分月排行榜第三2016年1月 .NET技术大版内专家分月排行榜第三2015年12月 .NET技术大版内专家分月排行榜第三2015年11月 .NET技术大版内专家分月排行榜第三
匿名用户不能发表回复!|
其他相关推荐C#语言 &&&&最新内容
C#语言 &&&&相关内容Javascript 已禁用
请启用 JavaScript,然后刷新页面
{{search404Captions.content404Description}}
请启用 Cookies,然后刷新页面
CV: {{ getCv() }}Posts - 91,
Articles - 2,
Comments - 15
10:43 by 悠悠鑫宝, ... 阅读,
我是在本地32位操作系统+vs2010+office2007做创建并下载Excel,ppt文件的操作没有问题,发布到64位系统的服务器上报错,最开始报错::
1:Retrieving the COM class factory for component with CLSID {A91-11CF-60263B} failed due to the following error:
没有注册类 (Exception from HRESULT: 0x (REGDB_E_CLASSNOTREG)).
最开始想到的原因,我的服务器有好几个虚机,其中有好使的,这个不好使难道是因为Excel和ppt是单独安装的,office装的不全,组件没注册上?
在网上()查到CLSID 为{A91-11CF-60263B}的组件是office的这个服务owerPoint.Application ,我想既然报错没注册,那就注册吧,在网上找的资料都说要通过C:WindowsSysWOW64 regsvr32注册组件,费了很大的劲也没弄明白要注册哪个dll,最后卸载office,重新安装,报错
(2):Retrieving the COM class factory for component with CLSID {A91-11CF-60263B} failed due to the following error:
拒绝访问。 (Exception from HRESULT: 0x (E_ACCESSDENIED)).
再接着在网上查资料,说卸载的不干净,要把注册表也删除,好吧,再接再厉重新安装,还是报(2)错,想着是拒绝访问,那是缺少权限啊,根据网上的各种配置权限,还是报错,改变方向,网上()找到原因可能是在Windows Server 2008 X64中通过.NET程序调用32位com组件的问题,按照其说的,在Visual Studio中,将编译的目标平台(Platform target)设置为:X86,然后重新统计发布项目,错误依旧。
最后终于发现问题,DCOM配置中一直配置的是【Microsoft Office PowerPoint 预览器】&原来一直都配置错地方了,可是DCOM中也没有【Microsoft Office PowerPoint 幻灯片】啊,原来服务器是64位了,没有加载32位的组件,运行中敲入mmc -32,在控制台中&文件&&添加/删除管理单元&选择&组件服务&添加,就会出现【Microsoft Office PowerPoint 幻灯片】,再把一些权限配置上就搞定了。
总结如下:.net调用office组件进行Excel、Word、ppt的一些操作,需要做一下操作:
1、正确全面的安装office
2、DCOM配置权限(64位系统要添加32位组件【mmc -32】)
(1.) 开始-运行-dcomcnfg,启动组件服务。
(2.) 找到Microsoft Excel Application、Microsoft&Office&PowerPoint 幻灯片、Microsoft&Office&Word 97 - 2003 文档,-属性 -安全-中所有配置都选择&自定义&,添加用户(SYSTEM、INTERACTIVE、Everyone、Administrators、Administrator、IIS-IUSRS()、Network Services、Network 、USERS),添加&启动和激活权限&、&访问权限&,并赋予本地启动和激活;-标识,交互式用户(不能选择启动用户,会无法结束进程)
下面是一些网上的解决办法:
&1、以下引自:
在开发短信接口时,需要调用一个com组件,在本机测试成功。可是部署到Windows Server 2008 X64的服务器上却出现下面的错误:
  Retrieving the COM class factory for component with CLSID {79AD7B73-C515-40B4-8B02-CB0F5FA5A1A} failed due to the following error:
  部署时,直接在命令行中通过regsvr32注册com组件。
  被这个问题折腾了几个小时,终于找到原因和解决方法。
  服务器用的是64-bit的系统,而.NET程序在本机编译时,目标平始选的是Any CPU,这样.NET程序在服务器上会运行于64位环境。
  在相关资料中查到, 在64bit的环境中无法访问32位的com组件。
  所以只要让.NET程序以32位的方式运行,就能解决问题。
  解决方法:
  1、通过C:WindowsSysWOW64regsvr32注册组件。
  2、在Visual Studio中,将编译的目标平台(Platform target)设置为:X86,然后重新统计项目
2、以下引自:
最近因为项目的需要写了一个应用,目的是在B/S架构下实现数据从Excel文档中载入到数据库。在本地开发的时候一切正常,当部署到测试环境下运行的时候出现如下的错误:&检索&COM&类工厂中&CLSID&为&{0-}&的组件时失败,原因是出现以下错误: &。
这是最简单的一种问题,我一看这个错误就知道是属于组件配置的范畴,可是我没有想到这个问题解决了以后更让我郁闷的事情还在后面。
&&&&&&&&&先说一下&错误&怎么解决(前提是Office2007必须正确安装),解决的办法很简单,就是改配置,在命令行中输入dcomcnfg.exe,在&组件服务-我的电脑-找到Microsoft Excel应用程序(在某些版本下会显示Microsoft Excel Application)这一项对其进行配置,步骤如下:
1.&&&&&&&以管理员身份登录到计算机,并使用完整安装来安装(或重新安装)Office。为了实现系统的可靠性,建议您将&Office CD-ROM&中的内容复制到本地驱动器并从此位置安装&Office。
2.&启动要自动运行的&Office&应用程序。这会强制该应用程序进行自我注册。
3.&单击安全选项卡。验证使用默认的访问权限和使用默认的启动权限已选中。
4.&单击确定,关闭属性对话框并返回主应用程序列表对话框。
5.&在&DCOM&配置对话框中,单击默认安全性选项卡。
6.&单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户:
INTERACTIVE
Administrators
IUSR_&machinename&*
IWAM_&machinename&*
Network Services
*&这些帐户仅在计算机上安装了&Internet Information Server (IIS)&的情况下才存在。
7.&确保允许每个用户访问,然后单击确定。
8.&单击启动权限的编辑默认值。验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户:
INTERACTIVE
Administrators
IUSR_&machinename&*
IWAM_&machinename&*
Network Services
*&这些帐户仅在计算机上安装有&IIS&的情况下才存在。
9.&确保允许每个用户访问,然后单击确定。
10.&单击确定关闭&DCOMCNFG。
&&&&&&&&&这样配置一番以后再运行OK,于是我的心情很晴朗(我行,我不是一般人)。可是过了一段时候,产品组又说Excel的数据载入功能又不能用了,我运行一番竟然还是这个错误&检索&COM&类工厂中&CLSID&为&{0-}&的组件时失败,原因是出现以下错误: &。我打开DCOM配置查看,发现和我上一回的配置是完全一样的没有做任何改动,可是运行还是会出现这个错误,我就郁闷了。于是我到网上遍查资料,结果没有一个可以用的,他们出现的问题,都是我曾经解决过的。&&&&&&&&
&&&&&&&&于是在DCOM中我打开Microsoft Excel Application重新进行设置,在&标识&标签里选择&下列用户&进行运行。因为我听说这台服务器已经加入域,并且域名是Nanjing.com.cn,于是我就尝试使用nanjing"administrator来运行。
关机,重启,重新运行程序,这个错误终于不出现了,可是出现了一个更要命的错误。&Microsoft.Office.Interop.Excel.ApplicationClass&的&COM&对象强制转换为接口类型&Microsoft.Office.Interop.Excel._Application&。此操作失败的原因是对&IID&为&{--C000-}&的接口的&COM&组件调用&QueryInterface&因以下错误而失败:&加载类型库/DLL&时出错。&(异常来自HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。
&&&&&&如果是出现这种错误就很可能是我的组件有问题,要知道那是一个超级复杂的组件,类图就用了很多篇幅。我打开代码仔细的检查,在别人的环境上运行,还是没有问题,我把代码全部屏蔽,只留了一条调用Excel组件的语句,又运行还是报这个错误。&&&最后只能重新安装Office组件,再试成功了。
&&&& 当出现类似问题的时候,&&&&& 1,检查Office组件安装成功否。&&&&& 2,如果是在B/S构架下进行访问请先给Office组件分配合理的权限(Network Services),如果在域环境下还要考虑域权限。&&&&&&&&&&& 3,要有自信,找出问题的原因,如果怀疑是自己的代码,可以只留几条调用Excel组件的语句,如果还是报错那肯定就是环境问题。&&&&& 4,我使用的名字空间是Microsoft.Office.Interop.E
3、以下引自:
今日用到WordToHtml的方法,需要添加对office组件的引用(Microsoft.Office.Interop.Word)
程序集Microsoft.Office.Interop.Word&&& D:\Program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Word.dll
调用代码如下
using Microsoft.Office.Interop.W
ApplicationClass word = new ApplicationClass();&&&&&&&&&&&&&&& Type wordType = word.GetType();&&&&&&&&&&&&&&& Documents docs = word.D
&&&&&&&&&&&&&&& //打开文件&&&&&&&&&&&&&&&& Type docsType = docs.GetType();&&&&&&&&&&&&&&& Document doc = (Document)docsType.InvokeMember("Open",&&&&&&&&&&&&&&& System.Reflection.BindingFlags.InvokeMethod, null, docs, new Object[] { wordFilePath, true, true });
&&&&&&&&&&&&&&& //转换格式,另存为&&&&&&&&&&&&&&&& Type docType = doc.GetType();
&&&&&&&&&&&&&&& docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,&&&&&&&&&&&&&&&& null, doc, new object[] { htmlFileUrl, WdSaveFormat.wdFormatFilteredHTML });
&&&&&&&&&&&&&&& docType.InvokeMember("Close", System.Reflection.BindingFlags.InvokeMethod,&&&&&&&&&&&&&&&& null, doc, null);
&&&&&&&&&&&&&&& //退出 Word&&&&&&&&&&&&&&&& wordType.InvokeMember("Quit", System.Reflection.BindingFlags.InvokeMethod,&&&&&&&&&&&&&&&& null, word, null);
原理显而易见:通过程序启动Word.exe程序,将本地文件打开,做另存为html操作,关闭word文档,退出word程序
程序执行完成后存在两个文件,原有word文件和html文件
本地调试没有任何问题,Windows2003+Vs2008+IIS6.0+Office2007
发布网站,在本机IIS上配置好网站后(读取写入的权限都打钩),登陆上传word文件转换出错,错误异常消息如下:
检索 COM 类工厂中 CLSID 为{0-} 的组件时失败,原因是出现以下错误: 。
从网上搜帖子答案大致相同:登陆网站的用户没有操作word.exe的权限
好,运行"中输入dcomcnfg.exe启动"组件服务",也可以从管理工具里面进,
"组件服务"- &"计算机"- &"我的电脑"- &"DCOM配置"-&找到word-&属性-&"标识"标签,选择"交互式用户"
-&安全"标签"-&在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加 一个"NETWORK & SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
-&"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限. 这样,我们便配置好了相应的Excel的DCOM权限.
重启本地机器上的IIS,未重启机器,打开网站测试,OK了,顺便提一下,操作的word文件和html文件夹要有读写的权限才行,右键--安全--Everyone或网络服务用户--&读写权限打钩
接下来,发布到服务器上,外网登陆测试,抛黄页,提示运行时错误 由于不是本地机器的登录用户所以不提示具体的错误信息。
得,从服务器的IIS里面浏览测试,抛出与我机器上同样的错误,吼吼太好了,这下我可以练练手配置一下Dcom权限了,打开组件服务傻眼了
服务器上Windows2008+IIS7.0,在Dcom配置里面没有找到word,看看安装了Office没有,结果是安装了,Office2007,再搜搜帖子windows2008 的,
找了几个帖子无果,看到了xp的组件服务配置,跟winserver2008的差不多,就这个吧
"组件服务"- &"计算机"- &"我的电脑"-&&属性--&Com组件-&启动和激活权限设置同上-&访问权限编辑同上-&都添加了Network service用户给用户赋予相应的读写权限
重启IIS了,盼望着盼望着,测试仍然是相同的错误 ,重启服务器,the same result! 我靠
难道用户添加错了吗?难道是AspNet用户吗,可是帖子上说window2000操作系统是这个用户,IIS5.0是添加这个用户,可是服务器上是windows2008+iis7.0 ,哎,试试吧
继续修改重启,仍然无果
网上仍然有招:尽管我还没有试,先贴上再说
在web.config中使用身份模拟,在&system.web&节中加入&& &identity impersonate="true" userName="你的用户名" password="密码"/&&/system.web&
我一直在想,为什么在服务器上DCom配置里面,没有找到Office word 以及Office家族,是不是安装的Vs2008是框架版的没有自动注册Office的一系列组件呢
研究了一些com组件的注册和office的注册,理解了为什么之前说 *.dll(动态类库)和*.exe 都是可执行文件了,网上也有解决的办法是Excel的,贴出来:
注册方法执行&开始----运行----输入excel2003的安装路径,例如 "C:\Program Files\Microsoft Office\OFFICE11\excel.exe" /regserver&注意/符号前面有一个空格,其中"C:\Program Files\Microsoft Office\OFFICE11\excel.exe" 是excel2003的安装程序的路径,参数regserver表示注册的意思!运行后,会启动Office 2003的安装程序,进行修复,重新注册。excel2007为默认的启动程序的方法类同,可以执行&开始----运行----"D:\Program Files\Microsoft Office\Office12\excel.exe" /regserver综上所述,再遇到Excel导出、导入问题时,先考虑权限问题,再考虑office的版本环境!如此基本能够解决这些问题了。
Good!Tomorrow I will have a try!
&--顺便贴出某个帖子的楼主经验:我也遇到过应用以上方法还是报错的情况,我的环境是windows2003 + office2003+office2007,在测试服务器上都可以导出无任何问题!但是更新了正式环境就是报错,权限都设置了还是报错,因为我的测试服务器是默认office启动的,所以我怀疑是office版本环境问题!于是我卸载了office2007,马上测试ok了,但是重启服务器后就产生了have not been Pre-compiled错误,导出页面都无法打开了,于是我又重新安装了office2007,页面可以打开了,但是导出excel时又开始报错!我又把所有的权限重新设置一遍,问题依旧!后来发现两个服务器默认打开excel的程序不一样,测试环境是默认office2003打开,正式环境是office2007打开,于是我在正式环境重新注册office2003,使其同样也是默认office2003打开程序,靠!问题终于解决了----&}

我要回帖

更多关于 错误代码0x80070002 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信