win7-64 提示 the module "msado15.dll" failed to load 怎么办

win7-64 提示 the module "msado15.dll" failed to load 怎么办,第1张

方案一:进入随机启动项,在libeay32.dll前小框打勾,不行的话再试方案二; 方案二:在单击开始选择里面的“程序”,选“附件”再选“系统工具”,再运行里面的磁盘扫描程序或磁盘碎片整理程序,如果这样还是不行,可以采用方案三; 方案三:选择开始--程序--附件--系统工具--系统信息命令,在打开MICROSOFT系统信息窗口选择工具——系统文件检查器命令,打开系统文件检查器的对话框,选择“扫描改过的文件”然后单击开始按钮,开始扫描改动过的文件,,,,完毕。可以安装腾讯电脑管家,点击工具箱-电脑诊所-直接搜索丢失eay32.dll,会有一键修复办法,非常方便的。

我也是这样,能试的都试了,期待高人帮忙解决。

accessdatabaseengine

access2007runtime

visual c++ 2010 redistributable

.net 4.0

都不起作用。我是vs2010 + ado + access

----

我搞定了,问题是这样的:

本机和测试机msado15.dll版本不一样。

若是win7 的那msado15.dll的版本太高了,测试机xp是无法注册的。

所以解决办法就是:把测试机的msado15.dll拷贝到本机上再编译,此时#import的是xp版的msado15.dll,然后这个程序就能运行了。

另有个小细节,win7和xp的msado15.dll的路径是不一样的,所以你得注意。

当然你本机若不是win7的那简单多了,只要2机的msad015.dll版本一样就好。拷贝过去注册就行。

CXXXApp::InitInstance是在DLL初始化的时候调用的,因为CoCreateInstance会加载对应的CLSID的DLL模块,你这样的情况相当于在DllMain里LoadLibrary加载DLL,这种做法微软是不推荐的,因为在这个时候加载DLL,容易出现死锁

建议你导出一个新函数,在这个函数里做初始化,不要在InitInstance里调CoCreateInstance了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7826994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存