I have been trying to install and run a program written in vb 6.0 on windows 7. It was working fine installing and running in windows xp. The error message after installing and running it say that
Run-time error 339" : Component voice.ocx or one of its dependencies not correctly registered: a file is开发者_JS百科 missing or invalid.
This program has voice recording things.
I manually register that ocx component but still error that shown like
The module "voice.ocx" failed to load.
And I try to install VB run-time and still shows the same error. I believe that Windows 7 support vb 6.0 programs.
One thing here I am not sure of is that the ocx component I have is whether 16 or 32 bit version. I don't think we cannot register 16 bit version ocx in windows 7.
And I also try to install and run in compatibility mode or even as administrator. I think it is a platform related issue? And it might be some other work-around. So, I appreciate your hints or clues on this program runnable in windows 7.
Thanks in advance. Regards, SEE
Just encase anyone else sees this.. here is what I did
I knew the program was running on Windows XP, with visual basic installed. I had only been given the exe and the MDB. So I created a virtual machine (stick with me) of Windows XP, installed visual basic and test the app. It was fine. Then I downloaded a dependency tool called Dependency Walker from http://www.dependencywalker.com/. I installed this in the virtual machine and asked it to open my exe.
Once this was loaded I ignored the warnings and asked it to start profiling. I ran the app, stepped through everything I could see, then exited the application. This left me with a log of the DLLs that had been accessed. Slowly I went through these checking if they existed on my windows 7 setup, when one was missing I copied it to my application directory and then from an elevated command prompt run "regsrv32 [missing_name.dll]" until there were no files which my windows 7 desktop didn't have.
the application then worked fine! This may not work all the time, because of the way third party OCX's or DLLs have been written. But it may help someone out.
Few of old Win32 components are not supported in Windows 7. There are possibilities of failure of a VB Program in Windows 7.
But there are some possible ways to fix those.
Check the following links to avail the same.
http://www.personalcomputerfixes.com/general-errors/how-to-successfully-fix-the-339-runtime-error/
http://social.msdn.microsoft.com/Forums/en-US/vbpowerpacks/thread/8cb5ab97-8407-4e49-8db6-30dcef87cbd1/
http://yang.articlesbase.com/operating-systems-articles/simple-solutions-on-how-to-fix-runtime-error-339-1830111.html
I have developed several programs with VB5 on a WinXP32 machines and then installed them on Windows 7 (32 and 64) PCs without problems. This applications use different OCXs (16 and 32 bit version) and till now I never get problem with them. Thus I do not think that the VB5 or Vb6 could have any issue on Windows 7 machines.
On the other hand I would point out the module "voice.ocx" and investigate if it can run on a windows 7 pc, because as Katturaja sais some old ocx have problem on win7. To do that, I would create a simply VB6 project that uses voice.ocx (just an Hallo-World"), then create the installation pack and finally try to install on a clean win7 machine (for example a virtual machine). In this way you could isolate the problem.
I hope this could help you.
精彩评论