1

我有一个最初加载的 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的东西,还是表明这确实是崩溃而不是用户退出?

4

5 回答 5

2

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

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

这应该是一个简单的修复。

于 2012-01-06T20:51:00.090 回答
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

希望能帮助到你。

于 2014-01-14T18:50:09.010 回答
0

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

于 2012-01-04T12:32:40.853 回答
0

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

它应该迅速指出任何缺失的参考资料。

于 2012-01-03T20:33:16.623 回答
0

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

于 2012-01-03T20:33:48.780 回答