Tuesday 1 March 2011

Installing VB6 on Windows 7


Some time around the year 2000 I bought Microsoft’s Visual Basic 6.0 Professional Edition. It’s an IDE (Integrated Development Environment) for VB on Windows computers. At the time one of my computers ran Windows 98 and I had no problems running it with that computer. Then I upgraded to a much faster, larger computer running Windows 2000. Loved it. Everything worked. I wrote many programs in VB6 on that computer. While I had these desktop computers, I had laptops but didn’t use it for programming. Then in 2009 It was time to get a new computer. I looked at desktops and laptops. It was clear the price of laptops have come way down in comparison to desktops. The performance gap narrowing. It made sense to buy one laptop instead of a desktop and a laptop.

This new laptop runs Windows 7. Fortunately I avoided Vista.

As you’d expect, I pulled out some CDs and began to install software on my new computer. One of those programs was VB6.0. The computer didn’t like it. Capability issues. Wouldn’t install the program. It’s understandable to a certain extent. This computer has 64-bit processor while VB was first designed for 16 bit then 32 bit CPUs. I put the box and CDs away and forgot about it. Who needs VB6? It’s old. I had VB Bloat and C++.

But I did need VB6 because of legacy software. Lots of software written in VB6 and still in use. That brings up many issues in itself, but Microsoft brought in VB.NET and basically trashed VB6. It was no longer basic and what could have worked in .NET didn’t necessarily work. Legacy issues.

I kept my older desktop computer up and running so I could use VB6 and other programs. (Adobe Acrobat 5.0 wouldn’t install on Windows 7. It’s no fun to pay $500 for software that won’t last beyond a few years.)

As time passed, I wanted to run VB6 on my new laptop. I was having some success running certain programs on Windows 7 even though they “weren’t compatible.” I did a search of some web sites and found a solution that worked. Here’s the work around. (You don’t need it if you have the virtual machine feature.)

1. Create an empty file named MSJAVA.DLL in your document folder (or of your choosing). You can do that by create a new notepad text file and change the name.
2. Copy that file to your windows directory.
3. Insert your VB6 install CD and run the installation. It should work.
4. Delete the file from your windows directory.
5. Reboot your computer.
6. Change compatibility properties for the VB6.exe to run as Windows XP.


5. Run VB6.

In my case, the installation conflicted with a previously installed program that appears to have been written in VB6. When I ran VB6 it popped up a window looking for the installation files for this program. Annoying. The fix? Reinstall the second program and all was well.

How anyone would know about this Java DLL and why it would be a problem boggles the mind.
 
Also, have I corrupted my Windows 7 machine. Will I know have surprise conflicts? Not sure. You never know.

Here’s some technical details on the issue from MS (link).