如何注册dll、ocx控件

在程序集成时,有时需要对厂家提供的dll或者ocx控件进行注册。其一般操作为:开始》命令指示符(右击管理员身份运行)》regsvr32 文件路径。

比如对devocx.ocx进行注册,在F:\公司项目\张家口\20110928_VSKDM_V1R4B3SP2Fix5文件夹里。

regsvr32  F:\公司项目\张家口\20110928_VSKDM_V1R4B3SP2Fix5\devocx.ocx。

按照常理就能注册成功,但是有时会报错。

错误1、提示,找不到指定的模块或者dll依赖项。

解答:一般多是dll的依赖项缺少,所以此时到windows/system32查找dll是否存在。

dll附加依赖项查看——dumpbin

开始->所有程序->Microsoft Visual Studio 2008 ->Visual Studio Tools->Visual Studio 2008 命令提示

 

查看程序或动态链接库需要的动态链接库

dumpbin /dependents  d:\test.exe  

 

查看动态链接库的输出函数

dumpbin /exports d:\libmysql.dll     


在这之后,再进行注册,有时会出现:

1、win7 下注册dll文件失败,提示模块“xx.dll”已加载,但找不到入口点DllRegisterServer

 

原因:该dll文件非可注册组件,没有包含DllRegisterServer函数,可用depend.exe 查看

2、win7 下注册dll文件失败,提示模块“xx.dll”已加载,但对DllRegisterServer的调用失败,错误代码为0x80020009

原因:win7的权限问题,可用以下步骤解决。但win7下把dll放入system32文件下,用下面方法行不通

 

 

开始--所有程序--附件--命令行--右键“以管理员身份运行”进入cmd方式,然后在cmd方式下进入要注册dll所在文件夹中,再次使用regsvr32 /s xx.dll,就可以了



你可能感兴趣的:(如何注册dll、ocx控件)