注册ocx文件时为啥报模块加载失败?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了注册ocx文件时为啥报模块加载失败?相关的知识,希望对你有一定的参考价值。

项目需要,同事写好了一个ocx文件,我需要在电脑里注册一下这个ocx,可一直报错,请大家帮忙看看是什么原因呗,我同事在她电脑注册这个ocx文件就没有问题。错误提示如下图:

是由于ocx文件注册时安装的位置不对造成的,解决的具体步骤如下:

1、首先查看系统属性,判断本地机器的操作系统是32位还是64位。

2、若是32位的操作系统,即把ocx文件(以comdlg32.ocx为例)移动到c:\\Windows\\system32目录下。

3、若是64位的操作系统,即把ocx文件(以comdlg32.ocx为例)移动到 c:\\Windows\\SysWOW64目录下。

4、然后按下win+R组合键打开运行窗口。

5、若是32位的操作系统,在运行中直接输入“regsvr32 c:\\Windows\\system32\\comdlg32.ocx”,点击确定即可。

6、若是64位的操作系统,在“运行”中直接输入“regsvr32 c:\\Windows\\SysWOW64\\comdlg32.ocx”,点击确定即可。

参考技术A “模块.ocx加载失败 请确保该二进制存储在”
若你用的是64位的WIN7操作系统,然而你所注册的DLL文件是32位版的,可以将该DLL文件或OCX文件拷贝到\windows\syswow64目录下,

然后再以管理员身份运行CMD.EXE,进入\windows\syswow64目录,运行REGSVR32 *.dll(*.ocx)即可。追问

没有问题,我确实是64位系统,注册一直是这个问题

追答

在安装C++软件的时候,有时候安装失败提示“请确保二进制储存在指定的路径中,或者调试他以检查该二进制或相关的DLL文件”,这个应该是自己的电脑没有安装VC运行库,可以去微软下载安装。

参考技术B 应该是模快版本和OCx文件不匹配。 参考技术C 你的这个问题怎么解决的,我也遇见这样的情况。 参考技术D 若你用的是64位的WIN7操作系统,然而你所注册的DLL文件是32位版的,可以将该DLL文件或OCX文件拷贝到\windows\syswow64目录下,

然后再以管理员身份运行CMD.EXE,进入\windows\syswow64目录,运行REGSVR32 *.dll(*.ocx)即可。

以上是关于注册ocx文件时为啥报模块加载失败?的主要内容,如果未能解决你的问题,请参考以下文章

注册OCX失败/ 找不到指定的模块

模块“mscomctl.ocx”已加载,但对DllRegisterServer的调用失败,错误代码为0x8002801c 如何解决 谢谢

模块"MSCOMCTL.OCX"已加载,但对DllRegisterServer的调用失败,错误代码为0x8002801c. 这个怎么解决啊。急

模块*.DLL 加载失败。请确保该二进制储存在路径中,或者调试它以检查该二进制或相关的.DLL文件是不是有问题

模块"MSCOMCTL.OCX"已加载,但对DllRegisterServer的调用失败,错误代码为0x8002801c,系统是WIN8

mscomctl.ocx 加载失败!system32中有这个文件,也可以注册成功,但运行vb时 还是提示不能加载!