11

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

正如微软链接所建议的那样。但它仍然不能在没有安装 Service Pack 1 的 XP 机器和 Windows 7 机器上工作。

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

已经被这个问题困扰了几天了。帮助将不胜感激。

问候, Saurabh

4

1 回答 1

0

这是根据 Saurabh 的评论解决的:

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

于 2015-02-25T13:56:35.357 回答