COM msado15.dll程序已停止运行

Sau*_*abh 11 c++ com ado windows-7 windows-8

我们一直在我们的程序中使用旧的msado15.dll.我们曾经导入它#import"msado15.dll".现在几天前我们升级到Windows 8.唉,我们的软件停止在没有安装Service Pack 1的Windows 7上运行.早些时候,当我们使用Windows 7时,我们已升级到Service Pack 1,同样的问题发生了,所以我们从所有机器上卸载了Windows 7的Service Pack 1,一切正常.

但是对于Windows 8,我认为他们已经改变了msado15.dll.我在网上进行了一些研究,他们说我们应该用msado60.tlb替换导入,但这对我们的编译破坏也没有用.

这就是我们过去在C++环境中引用的方式

import "c:\program Files\Common Files\system\ado\msado15.dll" rename_namespace("ADOCG") rename("EOF","EndofFile") 
Run Code Online (Sandbox Code Playgroud)

我把它改成了

import "c:\program Files\Common Files\system\ado\msado28.tlb" rename_namespace("ADOCG") rename("EOF","EndofFile")
Run Code Online (Sandbox Code Playgroud)

并尝试过

import "c:\program Files\Common Files\system\ado\msado60.tlb" rename_namespace("ADOCG") rename("EOF","EndofFile")
Run Code Online (Sandbox Code Playgroud)

正如Microsoft Link所建议的那样.但它仍然适用于没有安装Service Pack 1的XP机器和Windows 7机器.

任何人都可以建议我们可以遵循的正确步骤,以使我们的程序在没有Service Pack 1的Windows 7上运行,也可以在Windows 8上运行.

几天来一直坚持这个问题.帮助将不胜感激.

问候,Saurabh

LTh*_*ode 0

根据 Saurabh 的评论,此问题已解决:

我们所做的与您建议的解决方案类似。我们采用了之前的 Windows 7 without sp1 版本的 msaso15.dll 并将其导入。问题就消失了。我认为这意味着我们仍在使用旧的 msado15.dll。但只要它有效,我们就很高兴。