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文件夹要先设置权限哦!

上一篇: Teleport Ultra/Teleport Pro的冗余代码批量清理方法
下一篇: Use VBA SaveAs in Excel 2007-2016
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 3 | 引用: 0 | 查看次数: 1332
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 关闭 | [img]标签 关闭