Windows 7 windows7上的vb6.0程序

Windows 7 windows7上的vb6.0程序,windows-7,vb6,Windows 7,Vb6,我一直在尝试在Windows7上安装并运行一个用VB6.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 "vo

我一直在尝试在Windows7上安装并运行一个用VB6.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,但仍然显示相同的错误。我相信Windows7支持VB6.0程序

这里我不确定的一点是,我的ocx组件是16位还是32位版本。我不认为我们不能在Windows7中注册16位版本的ocx

我还尝试在兼容模式下安装和运行,甚至以管理员的身份。我认为这是一个与平台相关的问题?这可能是其他的工作。因此,我非常感谢您对这个可在Windows7中运行的程序的提示或线索

提前谢谢。 当做
请参阅

Windows 7不支持少数旧的Win32组件。Windows 7中存在VB程序失败的可能性

但有一些可能的方法可以解决这些问题

检查以下链接以获得相同的信息


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

另一方面,我会指出模块“voice.ocx”,并调查它是否可以在Windows7 pc上运行,因为正如Katturaja所说,一些旧的ocx在win7上有问题。为此,我将创建一个使用voice.ocx(只是一个Hallo World)的简单VB6项目,然后创建安装包,最后尝试在干净的win7机器(例如虚拟机)上安装。这样,您就可以隔离问题


我希望这能对你有所帮助。

把其他人看到的都封起来。……这就是我所做的

我知道这个程序是在安装了visual basic的Windows XP上运行的。我只得到了exe和MDB。所以我创建了一个虚拟机(请支持我)安装了visual basic并测试了该应用程序。一切正常。然后我从下载了一个名为dependency Walker的依赖工具。我在虚拟机中安装了该工具,并要求它打开我的exe

加载后,我忽略了警告并要求它开始分析。我运行应用程序,查看所有我能看到的内容,然后退出应用程序。这给我留下了已访问DLL的日志。慢慢地,我检查了这些DLL是否存在于我的windows 7安装程序中,当其中一个缺少时,我将其复制到我的应用程序中n目录,然后从提升的命令提示符运行“regsrv32[missing_name.dll]”,直到没有我的windows 7桌面上没有的文件为止


该应用程序运行良好!这可能不会一直运行,因为第三方OCX或DLL的编写方式。但它可能会帮助某些人。

感谢您提供的信息。这些都是有用的网站。OCX,它甚至无法手动注册,因此,我想windows 7可能不支持该OCX,因为可以手动重新注册该OCX在windows xp中注册。在64位版本的windows上使用c:\windows\syswow64\regsvr32.exe。从提升的命令提示符。嗨,汉斯,我确实尝试了你提到的方法。我发现也不能在管理员命令提示符模式下手动注册。因此,现在,我正在尝试使用ocx编写一个简单的程序请在windows 7上重新测试它。谢谢。是的,我还怀疑这个第三方ocx在windows 7中仍然可以压缩。这将是一个很好的尝试,可以按照您的建议隔离问题。谢谢。