gpt4 book ai didi

vb.net - 如果我在 win7 上编译 VB6 应用程序,ADODB.Connection 错误为 "Class does not support Automation or does not support expected interface"

转载 作者:行者123 更新时间:2023-12-03 12:16:01 24 4
gpt4 key购买 nike

Class does not support Automation or does not support expected interface

我在我的 Win7 x64 机器上编译了一些 VB6 代码,结果 .exe 将无法在任何其他机器上正确运行。

VB6 代码只是一个带有一个按钮的新模板 .exe 文件,对“Microsoft ActiveX 数据对象 2.6 库”的引用以及按钮按下事件中的以下代码:

Dim db
Set db = New ADODB.Connection

它在我的机器上正常运行,但没有其他机器(甚至是其他 Win7 x64 机器)(更新:我发现它运行的其他两个用户,其中一个是 Jeff Atwood!,但大多数机器都有同样的问题)

我检查了两台机器上的引用屏幕,看看引用是否失败(虽然它不会编译,但编译得很好)。一切看起来都是合法的。在 64 位机器上,引用进入 SysWow64 而不是 system32。

我什至在 Vista 64 位机器上成功编译了它并让它正常运行。它只是在 Windows 7 上编译,然后在发生错误的任何其他机器上运行。

以下是在我的盒子上运行 CompChecker 的结果:

comp checker results on box

注册表信息:ADODB.Connection 有 GUID HKEY_CLASSES_ROOT\CLSID{00000514-0000-0010-8000-00AA006D2EA4}

InprocServer32 是 %CommonProgramFiles%\System\ado\msado15.dll

最佳答案

这是一个 Windows 7 SP1 问题。见 http://support.microsoft.com/kb/2517589解决方法。

还有其他方法可以解决这个问题:

  • 改用 ADO 2.8(来自 Win 7 RTM
    磁盘)
  • 使用后期绑定(bind)(可能是
    最简单)
  • 有一百万种东西
    人们正在尝试这个很长时间
    和愤怒的线程:Breaking change in MDAC ADODB COM components in Windows 7 Service Pack 1

  • 另外,x64 Win 7 不支持 msado15.dll,如下所示: http://support.microsoft.com/kb/983246 .页面很大,直接搜索 msado15.dll .

    关于vb.net - 如果我在 win7 上编译 VB6 应用程序,ADODB.Connection 错误为 "Class does not support Automation or does not support expected interface",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5822886/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com