解决方案 VB编写的数据库程序在Win7 SP1编译无法在XP系统上使用的问题

前端之家收集整理的这篇文章主要介绍了解决方案 VB编写的数据库程序在Win7 SP1编译无法在XP系统上使用的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

解决方案 VB编写的数据库程序在Win7 SP1编译无法在XP系统上使用的问题

可能出现的错误提示有:
1、430 Class does not support Automation or does not support expected interface
  运行时错误"430": 类不支持自动化或不支持所需的接口
2、Error 13 - Type mismatch

问题产生原环境:
操作系统:Windows 7 - (32 and 64 bit) 打了 SP1 补丁包
开发环境:Visual Basic 6 SP6 (VB6 SP6) 并引用 Microsoft ActiveX Data Objects 2.x Library(ADODB,msado27.tlb,msado28.tlb and msado15.dll)

在WIN7SP1环境下编译后,本机运行正常,在其他电脑(一般为XP系统)无法运行,产生以上错误提示。如果在XP下编译,则没有任何问题,在WIN7SP1也运行正常。

问题很明确,是补丁包引起的,最终查明是KB983246补丁,关于此补丁微软有很详细的说明:
http://support.microsoft.com/kb/2517589/zh-cn

因此解决办法就有:
1、所有客户端安装KB983246补丁!
2、卸载Win7的SP1补丁包
3、替换Win7的C:\Program Files\Common Files\System\ado下的对应ado组件为XP SP3下的对应文件
比如:将原来的Win7的msado27.tlb改名为msado27-new.tlb
然后将XP的msado27.tlb复制到ado目录。重新打开VB编译程序即可。
注意:Win7的ado文件夹要先设置权限哦!

Windows XP版本的msado27.tlb
快盘下载:http://www.kuaipan.cn/file/id_3716800273456462.html

原文链接:https://www.f2er.com/vb/259545.html

猜你在找的VB相关文章