解决方法如下:
注意事项一:
正确方法:
1、打开c盘,用windows查找cmd.exe文件。
2、在找到的cmd.exe中点右键,选择,以管理员身份运行。
3、在打开的dos命令窗口中,输入【cd\】,让当前目录显示【c:】
4、再输入【cd windows】,进入【C:\WINDOWS】目录
5、再输入【cd syswow64】,进入【C:\WINDOWS\syswow64】目录
6、最后,输入【regsvr32 aaa.dll】,注册成功!
dll路径加个引号试试:regsvr32 c:\program files\common files\system\ole db\msdasql.dll,提示如标题所示,万盘不得其解,突然看到网上有人将后面的文件路径,加了引号,于是,在cmd中将后面的文件路径加个引号,注册成功。
注意事项三:dll存在关联
当输入命令regsvr32 A.dll注册时,跳出下面错误提示:
模块C:\windows\System32\A.dll加载失败。
请确保该二进制存储在指定的路径中,或者调试它检查该二进制或相关的 .DLL文件是否有问题
查了很多资料,总而言之是64位系统的system32与syswow64的混淆原因,解决方法就是到syswow64目录下使用regsvr32 命令。但我根据这种解决方法,还是不能解决问题。
这里感谢老师提醒,在次与大家分享。
B.dll的生成引用了A.dll,在注册B.dll时出错,刚开始认为是32位系统与64位系统的问题,尤其是64位系统system32与syswow64的复杂的干扰。其实,在将B.dll放入system32或syswow64后,还需要将A.dll也放入该文件下,才能成功注册。
如果遇到Win764位系统注册dll失败,不妨通过上面的方法试试。