COM msado15.dll程序已停止运行

时间:2012-11-01 02:06:50

标签: c++ windows-8 windows-7 com ado

我们一直在我们的程序中使用旧的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") 

我已将其更改为

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

&安培;也尝试了

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

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

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

现在已经坚持这个问题几天了。帮助将不胜感激。

关心, SAURABH

1 个答案:

答案 0 :(得分:0)

根据Saurabh的评论解决了这个问题:

  

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