如何注冊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,就可以了

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM