Windows 7上的vb 6.0程序

时间:2011-09-02 10:10:50

标签: windows-7 vb6

我一直在尝试在Windows 7上安装并运行用vb 6.0编写的程序。它在Windows XP中正常安装和运行。安装并运行它后的错误消息说

 Run-time error 339" : Component voice.ocx or one of its dependencies not correctly registered: a file is missing or invalid. 

这个程序有录音功能。

我手动注册了那个ocx组件,但仍然显示错误,如

  The module "voice.ocx" failed to load. 

我尝试安装VB运行时仍然显示相同的错误。我相信Windows 7支持vb 6.0程序。

我不确定的一件事是我所拥有的ocx组件是16位还是32位版本。我认为我们不能在Windows 7中注册16位版本的ocx。

我还尝试在兼容模式下安装和运行,甚至以管理员身份运行。我认为这是一个与平台相关的问题?它可能是其他一些解决方法。所以,我很感激你在Windows 7中运行的这个程序的提示或线索。

提前致谢。 问候, 看了

3 个答案:

答案 0 :(得分:1)

只是包住其他人看到这个......这就是我做的事情

我知道该程序在Windows XP上运行,并安装了visual basic。我只获得了exe和MDB。所以我创建了一个Windows XP的虚拟机(坚持我),安装了visual basic并测试了应用程序。很好。然后我从http://www.dependencywalker.com/下载了一个名为Dependency Walker的依赖工具。我在虚拟机中安装了它并要求它打开我的exe。

一旦加载,我忽略了警告并要求它开始分析。我运行应用程序,逐步完成我能看到的所有内容,然后退出应用程序。这给我留下了访问过的DLL的日志。慢慢地我经历了这些检查,如果它们存在于我的Windows 7安装程序中,当一个丢失时我将其复制到我的应用程序目录,然后从提升的命令提示符运行“regsrv32 [missing_name.dll]”直到没有我的窗口的文件7桌面没有。

该应用程序然后工作正常!由于第三方OCX或DLL的编写方式,这可能无法一直有效。但它可能会帮助某人。

答案 1 :(得分:0)

答案 2 :(得分:0)

我在WinXP32机器上用VB5开发了几个程序,然后将它们安装在Windows 7(32和64)PC上没有问题。 这个应用程序使用不同的OCX(16位和32位版本),直到现在我从来没有遇到过它们的问题。因此,我不认为VB5或Vb6在Windows 7机器上可能有任何问题。

另一方面,我会指出模块“voice.ocx”并调查它是否可以在Windows 7上运行,因为Katturaja sais有些老ocx在win7上有问题。为此,我将创建一个简单的VB6项目,它使用voice.ocx(只是一个Hallo-World“),然后创建安装包,最后尝试在干净的win7机器上安装(例如虚拟机)。你可以把问题隔离开来。

我希望这可以帮到你。