错误:80040154 没有注册类 的问题

  这其实是个COM组件未注册的问题,虽然以前处理过,不过那是在明确知道哪些COM组件需要注册的情况下,当你不知道或者不熟悉或者忘记的时候,可以尝试用这种方法去解决。

  问题发生在一次业务系统从旧服务器迁移到新服务器的过程中,系统中有和其它厂家做的一个登录验证交互接口,接口的年份有一些历史了,里面有一些需要注册的COM组件也很正常。所以,当系统部署后,运行中出现这个问题时:

第一反应就是到系统盘的 system32 目录下去注册下厂家提供的组件,例如:regsvr32 dsccrypt.dll ;但是把所有能注册的DLL 都注册过之后,居然还是报这个错误。
  唉,顿时好心塞。还好,上面截图的错误提示中,提供了未注册的DLL组件的clsid值,似乎有一丝希望了。我们把这个clsid值复制下来,到系统能运行正常的旧服务器上的注册表中搜一搜:

看到没?还真有,InprocServer32中还有这个DLL的物理路径。什么鬼!原来是放在个毫不起眼的以为没啥用的目录下。
然后把这个DLL文件复制到新服务器上,如果迁移时已经复制过去了,就找到这个路经下的文件,重新注册下:regsvr32 WebPro.dll ,问题就解决了。。。

  另外,如果是64位的操作系统要注册32位的COM组件,需到 C:\windows\sysWOW64\regsvr32.exe 目录下,因为默认的C:\windows\system32\regsvr32.exe 是64位版的。

时间: 2024-10-18 00:43:29

错误:80040154 没有注册类 的问题的相关文章

原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))

场景: 客户端初始化正常,到IIS服务就报80040154. System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: 服 务器无法处理请求. ---> System.Runtime.InteropServices.COMException: 检索 COM 类工 厂中 CLSID 为 {AD270EF3-E9EF-4928-BA2A-53205B9B5211} 的组件失败,原

检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))

Resvr32 .net中引用控件的名称 如果注册成功,问题不在出现 但是如果是在x64位的系统中,即使控件注册成功,错误依照提示,是因为大多数第三方写的COM控件,只支持32位的系统, 在VS中找到引用控件所在的项目--〉属性--〉生成--〉常规---〉目标平台---〉选择X86即可解决.

VS2008中 VB 报错 检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

Resvr32 .net中引用控件的名称 如果注册成功,问题不在出现 但是如果是在x64位的系统中,即使控件注册成功,错误依照提示,是因为大多数第三方写的COM控件,只支持32位的系统, 在VS中找到引用控件所在的项目--〉属性--〉生成--〉常规---〉目标平台---〉选择X86即可解决. 本次出问题的控件是opcdaauto.dll文件,项目文件夹拷贝到新的电脑上后,一直提示引用出错,找到opcdaauto.dll文件后,存放在C://WINDOWS//SYSTEM32/ 下, 采用 adm

检索 COM 类工厂中 CLSID 为 {820280E0-8ADA-4582-A1D9-960A83CE8BB5} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

IIS 程序池,高级设置:启用32位应用程序

Interop.MSScriptControl 运行出错提示:80040154没有注册类

1.错误画面 2.修改配置管理器,平台选择x86 3.重新生成就好了.

检索 COM 类工厂中 CLSID 为 {96749377-3391-11D2-9EE3-00C04F797396} 的组件失败,异常0x80040154,没有注册类问题分析和解决办法

问题分析和解决 //阅读函数 private void Read(string text) { SpVoice sp = new SpVoice();//报错位置 sp.Rate = GetSpeedSelected(); SpeechVoiceSpeakFlags sFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync; sp.Speak(text, sFlags); } 报错信息: 有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾.

Chrome在win8显示“没有注册类”的解决办法

问题1:从任务栏和桌面快捷方式无法打开Chrome,显示错误为没有注册类问题2:无法从word等中点击打开url,无法打开html,htm方式的文件,同样显示错误为没有注册类出了这两个错误后,用起来相当的麻烦,打开Chrome需要从安装目录中打开.这个还好,每天也就打开几次.最郁闷的是,每次从word打开一个链接,都不能直接点击打开,非要复制链接粘贴到Chrome打开,很浪费时间 解决办法临时解决问题1:将Chrome安装目录的下的chrome_launcher.exe发送到桌面快捷方式,可以打

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

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失 败,原因是出现以下错误: 80040154 折腾了N个小时的问题,最终是通过这个ID去搜索未报错的机器的注册表,导出,再导入到报错的机器上,问题得到解决.原来是开发文档提示注册的ocx有误. 其他:只有服务器上安装了office序列才可以调用office的东西 其他问题相关: http://zhidao.baidu.com/question/532301026.htm

检索 COM 类工厂中 CLSID 为 {13C28AD0-F195-4319-B7D7-A1BDAA329FB8} 的组件时失败,原因是出现以下错误: 80040154

异常类型:COMException 异常消息:检索 COM 类工厂中 CLSID 为 {13C28AD0-F195-4319-B7D7-A1BDAA329FB8} 的组件时失败,原因是出现以下错误: 80040154. 异常信息:   在 vshtgl.MainForm..ctor()    在 vshtgl.login.bt_login_Click(Object sender, EventArgs e)    在 System.Windows.Forms.Control.OnClick(Eve