regsvr32 命令使用和regsvr32 dll失败原因介绍

一 、regsvr32介绍

Regsvr32命令用于注册COM组件,是 Windows 系统提供的用来向系统注册控件或者卸载控件的命令,以命令行方式运行。搭配 regsvr32.exe 使用的 DLL,必须实现 DllRegisterServer 和 DllUnregisterServer 两个函数。

基本格式:

regsvr32 [/u] [/s] dllname

参数介绍:

/u 解除服务器注册
/s 无声解除服务器注
dllname dll全路径和名字

二、 regsvr32 注册失败原因

当我们在cmd命令行下注册dll时,若命令执行失败,会有提示窗口信息: “xxx.dll加载失败,找不到指定的模块”。

通过查找资料,regsvr32命令执行失败,大致有以下两个因素:

1. 检查当前注册dll所在的路径是否正确
2. 检查该dll所依赖的dll是否都存在

更多情况下,第二个原因居多。即当前注册的dll依赖别的dll,一种是系统的dll,一种是自己写的dll。我们可以用dependency walker工具打开dll,其中带有
黄色问号的dll,是当前注册dll所依赖的dll。

在项目问题定位中就遇到过这问题,我们的程序使用了自己写的dll,这个dll是用vs2010在32位系统上写的,当运行于64
系统时,程序执行异常,后面通过分析是64系统中缺少vs2010运行时库。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值