【已解决】检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类

在Win7 64位系统下连接OPC Server失败,提示错误:
检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类

环境:Win7 64位;Visio Stutio 2013

可能出现原因:

1.COM组件没有在电脑里面注册。

2.第三方写的COM控件只支持X86系统,不支持X64系统。

3.System32下部分相关dll缺失

  • 解决方法1(COM组件没有在电脑里注册或DLL缺失):

步骤1. 链接:https://pan.baidu.com/s/12QowHJv1h1EmBZvCZEx2fg 密码:mtpg 下载解压,然后复制并替换到C:\Windows\System32路径下,提示遇到需要提供管理员权限则提供,提示无权限则跳过。

步骤2. C:\Windows\System32路径下的cmd.exe右键管理员权限运行,否则会出现错误:模块已注册但是 dllregister server调用失败 输入REGSVR32 OPCDAAuto.dll 【已解决】检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类_第1张图片

  • 解决方法2(第三方写的COM控件只支持X86系统,不支持X64系统):

Resvr32,net中引用控件的名称,如果注册成功,问题不再出现。如果在x64位的系统中,即使控件注册成功,错误依旧提示,是因为大多数第三方写的COM控件,只支持32位系统。在VS中找到引用控件所在的项目–》属性–》生成–》常规–》目标平台–》选择x86,然后编译即可。
【已解决】检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类_第2张图片

你可能感兴趣的:(C#开发Tips)