0

尝试在 Windows 10 上安装 VB6 时遇到问题。我尝试了几种不同的安装程序和指南,但无论如何,我无法启动setup.exe

每当我启动它时,什么都没有发生。但是,当我检查 Windows 事件时,我看到安装程序退出并显示错误代码:0xc0000005

我什至尝试过外部安装程序助手,但它总是以同样的方式发生。我还在安装之前清理了我的注册表。

非常感谢任何帮助。先感谢您!

4

2 回答 2

5

假设您尝试从 CD 安装,您可能想尝试将其内容转换为 Inno Setup。这就是我们在 Windows 10 上安装 VB6 IDE 企业版时解决问题的方法。

这是有关如何执行此操作的指南。http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=74428&lngWId=1#zip ...只需单击“下载代码”并按照 README.txt 进行操作。我们使用了脚本 VB6-generic.iss

于 2018-08-31T02:38:54.767 回答
3

VB6 开发环境在 Windows-10 上运行良好,有几个例外,但要成功,安装过程并不十分明显。我正在粘贴包含我在 Win-10 系统上安装时使用的说明的文本文件,该文件完全可靠。您遇到的真正问题是尝试安装 ADO 和 RDS DB 提供程序(如下文所述)。取消选择这些(尽管安装程序发出可怕的警告)将使您的安装正常进行到最后。但请阅读整篇文章 - 这里还有其他有用的花絮:

如何在 Windows 10 上安装 Visual Studio 6,感谢 Locutus,2015 年 10 月 20 日

是的,你没有看错。我确实在标题中特别提到了 Visual Studio 6。那是因为我既是个老程序员,而且 Visual Studio 6 仍在世界各地广泛使用。我自己在 DOS 出现之前就学习了 BASIC,而 Visual Basic 6 可以说是最好的版本,在他们用这个 dot net 的东西破坏它之前。

网上有很多教程可以将此套件安装到 Windows 7/8x 中,但没有一个适用于 Windows 10。有一个程序声称支持在 Windows 10 中安装 Visual Studio 6,但我不想注册只是为了下载该程序并尝试一下。

所有其他方法都涉及在 windows 目录 (msjava.dll) 中创建一个零字节文件,这在 windows 10 上不起作用。在任何情况下,您都不需要这样做。

首先,您需要以某种方式获取 Visual Studio 6 的副本。有很多获取方法,但是,我会假设(是的,我知道假设 yada yada)您拥有合法副本和产品密钥。

这些文件需要位于可修改的介质上。换句话说,如果您的副本位于 CDROM 上,那么您需要将它们复制到磁盘上的文件夹中。

下一步是在记事本中找到并打开文件 setupwiz.ini。在 [setup wizard] 标题下应该有一行“VmPath=ie4\msjavx86.exe”。如果没有也没关系。最后,您需要修改现有行或添加一行,它必须看起来像“VmPath =”。不要忘记保存该文件。

这样做是创建一个空的环境变量并停止安装程序以查找超旧版本的 java.util. 这修复了零字节 msjava.dll 杂乱无章的问题。

之后就可以开始安装了。确保您右键单击“setup.exe”文件并以管理员身份运行它。完成所有单击此操作并单击该操作并输入您的合法产品代码,直到您进入带有设置选项的屏幕。

您需要选择自定义设置选项,否则您将乘坐带刺铁丝网的独木舟,沿着一条棕色的臭小溪,用网球拍作为桨。好的,也许我稍微修饰了一下,但选择自定义设置选项好吗?

下一个屏幕是选择安装文件夹。它很可能默认为“C:\Program Files (x86)\Microsoft Visual Studio\Common”。摆脱“(x86)”并将其安装到“C:\Program Files\Microsoft Visual Studio\Common”。

这显然有助于数据访问组件。请记住,在那些时候没有需要单独的程序文件夹的 64/32 位 thunking。哎呀,在那些日子里,32 位是最先进的,就像 640k 内存限制一样,人们认为不需要更多。

在我们来到重要的屏幕之前,将会有更多的点击和那些在当时或今天没有人注意到的点击,您可以在其中选择您的组件。当安装程序搜索已安装的组件时,这可能需要一段时间才会出现。要有耐心 :)

因为我只对 VB6 感兴趣,所以我取消了 C++、Foxpro、Interdev 和源代码安全的选择,然后选择了酷炫的复古图标和动画的图形,aaah 怀旧。除了一个非常重要的步骤外,我将其他所有内容都保留为默认设置。

如果不这样做,那么设置将在最后进入一个无限循环,让你的 CPU 风扇尖叫着求饶。您需要做的是进入“数据访问”更改选项,进入“ADO、RDS 和 OLE DB 提供程序”更改选项,然后取消选择“ADO 和 RDS”。安装程序会给出一个可怕的警告,所以只需点击它,不要像弹出的任何其他窗口一样阅读。

然后单击“确定”返回主组件选择屏幕并单击“继续”,让安装程序在复制文件时显示它的自我广告屏幕。

如果您激活了 Windows 防火墙,它将希望允许访问某些程序。我拒绝了该访问,因为我不希望它未经我的许可在我的网络中游荡。谁知道它会做什么。

然后它会想要重新启动您应该执行的 Windows,因为一旦 Windows 重新启动,安装程序将继续并希望安装 MSDN 和其他工具。我都没有安装。它可能会抱怨“APEMREG”可能没有正确安装。您只需告诉 Windows 确实如此,并停止打扰您。

最后要做的事情是,一旦安装完成并且您希望 Visual Basic 6 至少能够快速运行,请转到“C:\Program Files\Microsoft Visual Studio\VB98”的安装目录,右键单击“vb6. exe”并在所有用户的兼容性选项卡下的属性中,选择兼容模式(XP sp2)并设置缩减颜色模式(16位)并禁用高dpi设置下的显示缩放。

好的,真正的最后一步,永远不需要再做一次,以管理员身份运行一次 VB6 程序。这样就可以设置最终的注册表doo dads。

就这样结束了!您现在可以使用具有 16 位图形和 8 位变量的 32 位程序在现代 64 位操作系统上进行编程,以获得尽可能多的 bits'o'cash :)

VB6 应用程序在 Vista/7/10 上工作所需的修改感谢 VBForums 中的 Hassan Basri

应用程序更改 删除 SendKeys 调用并将其替换为 API 代码。使用注册表中的 HKEY_CURRENT_USER 进行应用程序的设置。不要写入 HKEY_LOCAL_MACHINE。如果您使用 ADO,请在您的应用程序中使用 2.8 及更高版本。如果您使用 XML,请在应用程序中使用 XML 版本 3.0 及更高版本 如果您使用 PlaySound API,如果您的波形文件不是 PCM 而是 mpeg layer-3,请确保您的 mpeg 波形文件是立体声而不是单声道。如果您需要使用通用对话框控件或使用 API 函数的打印机设置对话框,该对话框将不会返回正确的份数。该对话框在 Vista 上将始终返回 1。解决此错误的方法是创建您自己的打印机设置对话框,当您获得正确数量的副本时,您必须多次发送到打印机以打印出多个副本。这是一个详细讨论此问题的链接。http://www.vbforums.com/showthread.php?t=456940 将设置文件、数据文件等重新定位到“通用文件”(C:UsersPublic)而不是“程序文件”中。您应该使用 API 调用来定位这些文件夹,因为对于不同的机器和操作系统,这些文件夹位于不同的路径中。这是一个详细讨论此问题的链接。http://www.vbforums.com/showthread.php?t=461613[/URL] 每个用户的设置应位于“应用程序数据”下的单独文件中,并且也应以相同的方式向操作系统请求。对于“通用文件”,请询问 ssfCOMMONDATA(或 CSIDL_COMMON_APPDATA)。对于“应用程序数据”,请询问 ssfAPPDATA(或 CSIDL_APPDATA)。要正确使用这些文件系统位置,您应该为您的“公司名称”创建一个子目录,并在该子目录下为您的“应用程序名称”创建另一个子目录。然后将您的设置或数据放在下面。任何旨在由用户(即通过资源管理器)找到和操作的工作“文档”文件都应放入 CSIDL_PERSONAL(“我的文档”)或 CSIDL_COMMON_DOCUMENTS(“所有用户文档”)中。DeleteSetting 在没有密钥的情况下不再起作用。例如 DeleteSetting "Mytestprogram" General" 无法删除任何内容并给出错误。但 DeleteSetting "Mytestprogram, "General","keyname" 工作正常。似乎 key 在文档中不再是可选的:DeleteSetting appname, section[, key]。另一个与 vista (64) 的不兼容是 Deletesettings 在没有密钥的情况下不再工作。学分:roylow 设置包更改

运行安装包的管理员帐户要求用户直接在安装包中“以管理员身份运行”。通知用户右键单击安装包,然后单击“以管理员身份运行”。

运行安装包的非管理员帐户 从安装包中删除 VB6 运行时文件、MDAC 和任何这些文件。

于 2018-08-25T09:44:43.937 回答