解決方法如下:
注意事項(xiàng)一:
正確方法:
1、打開c盤,用windows查找cmd.exe文件。
2、在找到的cmd.exe中點(diǎn)右鍵,選擇,以管理員身份運(yùn)行。
3、在打開的dos命令窗口中,輸入【cd\】,讓當(dāng)前目錄顯示【c:】
4、再輸入【cd windows】,進(jìn)入【C:\WINDOWS】目錄
5、再輸入【cd syswow64】,進(jìn)入【C:\WINDOWS\syswow64】目錄
6、最后,輸入【regsvr32 aaa.dll】,注冊(cè)成功!
dll路徑加個(gè)引號(hào)試試:regsvr32 c:\program files\common files\system\ole db\msdasql.dll,提示如標(biāo)題所示,萬盤不得其解,突然看到網(wǎng)上有人將后面的文件路徑,加了引號(hào),于是,在cmd中將后面的文件路徑加個(gè)引號(hào),注冊(cè)成功。
注意事項(xiàng)三:dll存在關(guān)聯(lián)
當(dāng)輸入命令regsvr32 A.dll注冊(cè)時(shí),跳出下面錯(cuò)誤提示:
模塊C:\windows\System32\A.dll加載失敗。
請(qǐng)確保該二進(jìn)制存儲(chǔ)在指定的路徑中,或者調(diào)試它檢查該二進(jìn)制或相關(guān)的 .DLL文件是否有問題
查了很多資料,總而言之是64位系統(tǒng)的system32與syswow64的混淆原因,解決方法就是到syswow64目錄下使用regsvr32 命令。但我根據(jù)這種解決方法,還是不能解決問題。
這里感謝老師提醒,在次與大家分享。
B.dll的生成引用了A.dll,在注冊(cè)B.dll時(shí)出錯(cuò),剛開始認(rèn)為是32位系統(tǒng)與64位系統(tǒng)的問題,尤其是64位系統(tǒng)system32與syswow64的復(fù)雜的干擾。其實(shí),在將B.dll放入system32或syswow64后,還需要將A.dll也放入該文件下,才能成功注冊(cè)。
如果遇到Win764位系統(tǒng)注冊(cè)dll失敗,不妨通過上面的方法試試。