如何注册dll、ocx控件
在程序集成时,有时需要对厂家提供的dll或者ocx控件进行注册。其一般操作为:开始》命令指示符(右击管理员身份运行)》regsvr32 文件路径。
比如对devocx.ocx进行注册,在F:\公司项目\张家口\20110928_VSKDM_V1R4B3SP2Fix5文件夹里。
regsvr32 F:\公司项目\张家口\20110928_VSKDM_V1R4B3SP2Fix5\devocx.ocx。
按照常理就能注册成功,但是有时会报错。
错误1、提示,找不到指定的模块或者dll依赖项。
解答:一般多是dll的依赖项缺少,所以此时到windows/system32查找dll是否存在。
开始->所有程序->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,就可以了