首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

innosetup登记msado15.dll卸载后重装无法连接数据库

2014-06-09 
innosetup注册msado15.dll卸载后重装无法连接数据库各位亲们,我用innosetup做一个数据库的安装包,其中注册

innosetup注册msado15.dll卸载后重装无法连接数据库
各位亲们,我用innosetup做一个数据库的安装包,其中注册msado15.dll的语句如下:
Source: "G:\打包文件\msado15.dll"; DestDir: "{sys}"; Flags: regserver
打包的msado15.dll的版本号为:2.10.3711.9
初次安装在XP和WIN7上都是运行正常的,但卸载后,再重装,问题出现了,一直显示无法连接数据库,获取的错误信息显示:无效指针,感觉应该是msado15.dll没有注册,此时手动注册同一个版本的msado15.dll问题仍继续,我只发现了一种解决办法,就是用更高版本的msado15.dll注册,这个问题就能解决,就能连上数据库了

但在WIN7中,在网个下载了所有能搜到了msado15.dll,一直都是提示“模块XXXXX加载失败,请确保该二进制存储在指定路径中,或者调试它以检查该二进制或相关的DLL文件是否有问题”,不要说我的注册路径有问题,我直接托进regsvr32的运行窗口里面的,决不会有问题,而且这些dll文件在XP下注册是一点问题没有的,但在WIN7上面就无法注册;

再者,我发现,注册后,在注册表中,HKEY_CLASSES_ROOT\TypeLib下,生成一个项
{00000201-0000-0010-8000-00AA006D2EA4} 里面有{00000201-0000-0010-8000-00AA006D2EA4}\2.1\0\win32项,它里面的键值就是注册的DLL地址,我用打包时的注册DLL(版本号:2.10.3711.9
)也会更改这里面win32的值,也就是说注册成功了,但为什么用不了呢

问题:
我这里的问题,也就是我所能想到的解决方案,能解决这里面的一个就行,或者提出其它的高见,总之,万分感谢
1、首先如何能在WIN7中成功注册msado15.dll,而不弹出“模块XXXXX加载失败”的提示(PS:弹出这些提示的DLL,在XP上注册正常)
2、InnoSetUp到底做了什么让重装时ADO的注册出现问题,能不能修改注册表什么的。

[解决办法]
WIN7需要用管理员权限来运行regsvr32。
[解决办法]
要跨系统的话最好是在XP上编译,在win7上可以运行,高版本会兼容低版本。
系统一般都自带了ADO的,这个可以不用打包安装的。
没有ADO的机器可以下载MDAC_TYP.EXE安装一下就可以了。

热点排行