How to save an old VB6 application in Windows Vista and Windows 7?

I have an old VB6 application that I am still trying to support. Several users have reported strange crashes when running the application in Vista or Windows 7. Log files do not show anything after one of these crashes, but clients report an error message "OLE something ..." if they did not see anything.

I could never reproduce these crashes when I started the program in my own Vista or Windows 7 windows, so I have practically no information about what the problem is.

My suspicion is that this is a problem with their versions of one or more of the more than billion-dollar DLLs that the VB6 application depends on. The application also uses lame_enc.dll, which introduces a few more dependencies.

I assume this is a common problem with VB6 applications (although it is possible that I just sucked a programmer 10 years ago). Is there any magic installer / installer that ensures that all VB6 dependencies must be in order for the VB6 app to function properly?

+6
windows vb6 dependencies
source share
6 answers

One option is to contact Microsoft Technical Support. VW6 runtime is fully supported on Windows 7. You may have to pay for the “incident with support”: or it may be free, for example, if you have an MSDN subscription (a good idea is to get one).

+1
source share

Ask the user to run the application in compatibility mode for XP. Just drag the shortcut to the desktop, right-click Properties. Then, on the "Compatibility" tab, select "Run in compatibility mode for:" and select "Windows XP (Service Pack 3)." And also "disable display scaling at high DPI settings." See if that helps. It is possible.

+2
source share

If Comaptibility Mode does not work, XP Mode also exists. This virtualizes the entire environment in the XP virtual machine, but also allows it to interact with the host operating system. It is available only for Windows 7.

+2
source share

We just had strange behavior with some clients who tried to run our application on Windows 7. In one case, the main application toolbar (standard control MSComctlLib.Toolbar ) was completely empty (none of the icons or dividing bars appeared). We were puzzled. The program did not crash, the icons simply were not there. Nothing in the application error logs, nothing in the Windows event log. We even made sure that the application is configured to run in compatibility mode with Windows XP, but not with cubes. As far as we know, the correct DLL was installed and registered, and since then we have run the same application without problems on the same version of Windows 7.

In a somewhat ironic decision, shortly before that, we decided to officially support Windows 7, while at the same time declaring that we would not officially support Vista (although some clients run the application on Vista without any problems). At first this may seem like a strange solution, but there are two good reasons why this makes sense:

  • Most new computers will be pre-installed with Windows 7, and most customers who have missed upgrading to Vista because of all the surrounding FUDs are very interested in upgrading from XP to Windows 7.

  • Windows 7 supports XP Mode , which allows you to run applications on a virtual machine running Windows XP SP3. Some of our customers went along this route, and no one reported any problems with the launch of our application. Since you use your application in a real Windows XP environment, the likelihood that something will go wrong is much less.

+1
source share

Try a third-party installer like Installshield. I have a VB6 application that did not install and did not start properly on Win 7 using the original installer, but when I introduced it through the latest Installshield, it now works fine.

+1
source share

I will also run XPMode.

However, if you still have problems, Dependency Walker is a good free tool that scans exe / dll / ocx and builds a tree diagram of all / dll dependent modules. Even without this problem, it helps in troubleshooting installation problems.

http://www.dependencywalker.com/

In addition, we had several problems in the past with items that write to the registry, where the user did not have the proper security rights that caused such problems. You can check the code for these functions if you have one.

0
source share

All Articles