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

  • 相关阅读:
    git基本操作
    负载均衡-ribbon源码解析
    嵌套快元素垂直外边距的塌陷以及清除网页元素的内外边距
    力扣之删除有序数组中的重复项
    http模块中----------req请求对象-req.url req.method 与客户端请求相关
    Android(activity)
    探索UWB模块的潜力:智能家居与物联网的连接者
    Gpt-4多模态功能强势上线,景联文科技多模态数据采集标注服务等您来体验!
    云原生系列二:如何实现跨数百个K8s集群的管理
    数据结构之实现队列
  • 原文地址:https://blog.csdn.net/lizaijinsheng/article/details/133799261