gpt4 book ai didi

VB6 App 重新编译后无法在 Server 2008 上运行

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

我正在尝试移动 Web 服务器。我们的应用程序(善良)是在 1998 年(我认为)用 VB6 编写的。我已经让它在我们的新服务器(Windows Server 2008 R2 64 位)上运行。但是,当我在我的机器(Windows 7 64 位)上获取源代码并将 exe 传输到服务器时,当应用程序尝试连接到数据库时出现以下错误:“错误 430(类不支持自动化或不支持预期的接口(interface))”

该项目引用了 Microsoft Activex 数据对象 2.8 库。错误的行是

Set conn = New adodb.Connection

因此,它实际上并没有尝试连接到数据库,而是在尝试创建对象时纯粹炸毁了。

有人对这种错误有任何经验吗?或者对我有什么建议?谷歌有几种可能性,但都没有成功。它们中的大多数都与通用控件和使用“项目兼容性”有关——但我的应用程序以“无人值守执行”运行,所以我不能选择它(它在项目属性中完全禁用。)

最佳答案

这是 Microsoft 在 SP1 中引入的对 MDAC 的重大更改。看看这个MSDN Forum Thread .它有一些解决方法的建议。到目前为止,微软还没有修复。

我在 32 位 Windows 7 上遇到了这个问题,最终回滚了 SP1。

建议之一是将更新的(损坏的)mdac dll 替换为来自未提供服务的打包机器中的一个:

  • 打开 Regedit 并找到 key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\TypeLib\{2A75196C-D9EB-4129-B803-931327F72D5C}
  • 右键,权限,高级,所有者,将所有者更改为管理员,点击确定,确定
  • 运行C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12 -u "%CommonProgramFiles(x86)%\system\ado\msado28.tlb"
  • 复制 msado28.tlb从 Win7 RTM/Win2008R2 RTM 到您的本地计算机,记下下一步的文件夹。
  • 运行C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12 "{path}\msado28.tlb"

  • 这些步骤适用于 64 位窗口。对于 32 位,应该与路径调整相同。

    关于VB6 App 重新编译后无法在 Server 2008 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5467596/

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