• dll动态链接库及ocx activex 控件regsvr32注册失败 解决方法(Win10)


    一、错误提示说明:

    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 是否缺失,对应补齐就可以了

  • 相关阅读:
    机器学习--循环神经网络(RNN)3
    某城商行双活建设方案设计与实施经验分享
    OpenTiny Vue 支持 Vue2.7 啦!
    【前端】Vue+Element UI案例:通用后台管理系统-导航栏
    如何禁用Windows 10快速启动(以及为什么要这样做)
    【web-攻击用户】(9.4)跨域捕获数据——通过注入HTML捕获数据、注入CSS捕获数据、JavaScript劫持
    ubuntu20.04配置vscode
    飞桨模型部署至docker并使用FastAPI调用(四)-PHP短代码于WordPress
    Docker网络模式
    mysql 自定义函数 身份证号转年龄(支持15/18位身份证)
  • 原文地址:https://blog.csdn.net/lizaijinsheng/article/details/133799261