在程序集成時,有時需要對廠家提供的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,就可以了