在 Windows 8/8.1 上安装 Visual Basic 6

今天想起来 VB6 还没安装成功,想晚上能不能再试一下,安完。结果是我被狠狠坑了一把,还是一样的错误,还是一样的感觉。不过最终(部分地)解决了。

大多数人遇到的是根本无法启动的问题,是 ACMBOOT 的不兼容导致的。解决方案在百度经验上也有

但是,我遇到的问题是:能正常运行,直到“正在更新系统”,然后就出现 svchost 和 setup 长时间占用 CPU,而磁盘 IO 为零的现象。(开始安装时时不时伴有无法删除/读取 vssetup.ttf 的错误出现。)可以强行结束进程,但是安装完成后 VB6 只剩下了最基本的东西,连 Active X 控件都无法注册,一般的 VB6 编写的程序都无法运行(字符串分配错误)。这样肯定不行的对不对。

这个问题的原因我猜不到,继续求助。在51CTO上看到了一篇文章,里面写着非常规解法一(不过无法卸载)。非常规解法二在 MSDN 社区 上,说是不要选中 Data Access 项。虽然安装成功完成,但是毕竟 Data Access 包含了 ADO 等 VB6 用来连接数据库的东西,而这些数据库访问组件是 VB6 精华的一部分——抛弃了这些,幸好我应该不需要写 VB6 的数据库访问程序,那些还需要的人估计要叫苦连天了。

另外遵循51CTO的文章的指引,找了一下 CodeSmart for VB6。我能比较轻易找到的是 CodeSmart 2013 for VB6 (63q5)。


知道无法添加引用的原因了。仔细观察一下相应文件的路径,我这里是64位系统,一些常用组件(ADO、Common Controls、Data Grid 等等)都在 SysWOW64 目录下,这意味着那些是64位的 COM 组件,32位的 VB6 无法访问。

看来,用 Common Dialog 之类的都是不可行的了呢,好多工程和软件都要废了。


再记:上面的结论有错误……现在可以引用……

分享到 评论