一、错误提示说明:
1、regsvr32注册dll或ocx activex控件时提示模块 dll加载失败,请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的.dll文件是否有问题”。
检查了.dll文件路径也没有问题,在开发机器上是可以正常使用的。
二、解决方法:
(查看网上,解决办法很多,列举一下),供以后大家参考:
1. 需要使用管理员权限,即运行dll文件时要以管理员身份运行cmd。XP中无需关心权限,但是win7和win10是需要管理员权限的;
2. 注册.dll文件时要使用绝对路径;
3. 在开始菜单中打开命令行提示符 上单击右键,以 管理员身份运行 ,在DOS命令中输入regsvr32 (记得加一空格)文件地址\xxx.dll,回车确定;
4. 注册Windows版本,32位的电脑把文件(xxxx.dll)复制到C:\Windows\system32文件下,不是32位电脑,要把那个文件放入到 C:\Windows\syswow64 路径下 ;
5. 也有说是什么C++运行库或者.net插件少了,因为系统注册控件时需要C++开发环境的支持,所以可以在微软官网上下载了C++2008。很多Win10家庭版不支持 一些软件就是这个原因;
6. 环境配置,将项目配置属性--->常规--->MFC的使用 修改为在静态库中使用MFC;(本人测试无效)
7. 缺少依赖文件 ,可以用depends工具,和可以运行的电脑进行对比,对比看是否缺少.dll文件。也可以将无法注册成功的dll用dependency打开,查看它所依赖的dll是否有(黄色带问号的就是缺少的dll),如果有,将所缺少的dll考到system32下面,再次注册时,即可注册成功。dependency的打开方式:C:/Program Files/Microsoft Visual Studio/Common/Tools/DEPENDS.EXE;
8. 有些是缺少Vc++支持库,需要先安装 ,系统注册控件时需要C++开发环境的支持,所以在微软官网上下载了C++2008。下载地址:http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=5582下载完成后直接安装即可,因为Windows系统的特殊性,最好重启一下电脑。
最后本人注册失败的原因是缺少mfc100d.dll 、msvcr100d.dll 文件,最终的解决办法是添加VB运行库到System32文件后,用regsvr32注册需要运行的dll文件 ,再运行软件安装,即可安装成功。
三、总结一下:主要为几点:
1.需要管理员身份执行
2.关闭UAC尝试下
3.如果dll链接库或ocx控件 放在程序的目录下无法注册,尝试放在windows系统目录下手工用regsvr32注册32位复制到system32 64位系统复制到syswow64目录下
4.查看vc++ 支持库是否安装,没有安装先安装此支持库
5.如果dll 或ocx是vb6编写的,需要 先看看系统有否Msvbvm60.dll支持库 并是否正常注册 (这个情况在Windows 10 家庭版或学生版容易出现,Windows 10专业版则大多正常)
6.使用depends工具查看你的dll 或ocx相关依赖dll ocx 是否缺失,对应补齐就可以了