VB6应用程序在启动/表单加载时静默崩溃

时间:2012-01-03 20:28:17

标签: vb6 crash runtime redistributable

我有一个最初加载的VB6应用程序(仅在第一次输入许可证密钥的小提示时)。它在我的机器上工作正常(Windows 7)。

我抱怨它崩溃在别人的机器上(xp和7),所以我制作了一台Windows XP虚拟机。我把它安装在虚拟机上,它崩溃了。我想看看它崩溃的地方,所以我在虚拟机上安装了Visual Studio,以便得到调试提示。当我再次运行程序时,它有效。

我对C ++比较熟悉并遇到过这类问题,所以我认为这是某种运行时问题。

我发现了这个VB6 SP6 Redistributable Runtime:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=24417

我安装了它,它仍然无法运行。

任何想法从哪里开始?

编辑:

我试过了depends.exe,它只显示了MSJava,我听说我可以忽略它。 depends.exe是否还显示了所需的.ocx(Active X控制器?)等内容?

此外,在cmd提示符下,似乎没有填充%errorlevel%。这是一个VB6的东西,还是这表明这确实是崩溃而不是用户退出?

5 个答案:

答案 0 :(得分:1)

打开Visual Basic项目并检查“项目”菜单下的“参考”和“组件”。

由于它在安装VB运行时崩溃,因此很可能是您在项目中引用的组件,该组件在被测客户端上不存在(或未注册)。

这应该是一个简单的解决方法。

答案 1 :(得分:1)

我在Windows 7计算机上遇到了同样的问题。 我卸载了所有内容,将我的Windows主题更改为Windows Classic。

我更改了VB安装文件的以下属性。 右键单击setup.exe并转到属性,然后在兼容性选项卡中将兼容模式更改为Windows XP SP2。在设置中取消选中以下复选框。

  • 禁用视觉主题
  • 禁用桌面合成
  • 在高DPI设置下禁用显示缩放。
  • 以管理员身份运行此程序

已完成安装。

然后从此处安装VB 6 Service Pack 6。 http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=24417

希望它有所帮助。

答案 2 :(得分:0)

它可能需要除了运行时以外的其他东西,您是否尝试在它崩溃的机器上使用依赖性walker http://www.dependencywalker.com/查看它?

应该快速指出任何缺失的参考文献。

答案 3 :(得分:0)

也许再试一次,创建一个新的VM,但安装远程调试器而不是完整的VS.

答案 4 :(得分:0)

您应该为您的应用程序创建一个安装程序。可能存在比VB6运行时更多的依赖项。一个好的安装工具将为您检测至少一些必要的依赖项。请查看this questionthis question