Sunday, 16 July 2006

Warning: Installing VS 6.0 on Vista Beta 2 leaves vulnerable Java VM

I still need to use Visual Studio 6.0 at work – we have a lot of legacy software, and even some actively enhanced software, which uses VB 6.0 and Visual C++ 6.0. The installer for Enterprise Edition requires Microsoft’s Java VM to be installed and won’t continue without it. The version installed dates from 1998 (as does VS 6.0, of course) and is Build 2572.

Windows Update does not offer any updates for this VM on Vista Beta 2. There is no other source of updates. There were many security patches for this software.

When you have finished installing Visual Studio 6.0 you should immediately uninstall the VM.

You should also of course install Visual Studio 6.0 Service Pack 6. Some users have reported problems installing VS6 SP5 but I had no problems with SP6. Well, except that Windows Vista popped up a compatibility box claiming that the software hadn’t installed correctly, but it seemed to be OK.

If you need Java you should install Sun’s runtime environment (at time of writing version 5.0 Update 7). Note that when you have the JRE loaded, the Aero environment will shut down and you’ll revert to the Basic theme – no ‘cool’ 3D or glass effects – until the process that launched Java shuts down. This is because the JRE uses DirectX in an exclusive mode to do its drawing. This is supposed to be fixed by Vista RTM (source).

[Update: I have discovered that you can fake it by simply placing an empty file called msjava.dll in your System32 directory (presumably SysWOW64 on an x64 box). This also works for machines installed from clean with Windows XP Service Pack 2, which doesn’t include the Microsoft VM, although Windows Update does offer updates for the Microsoft VM after installing from the VS 6.0 CD, on XP.]


Anonymous said...

How do you uninstall the Visual Studio 6 Java VM?

I'm not seeing an option to do that in the VS6 setup

Mike Dimmick said...

You uninstall the Java VM in the normal way: by going to Control Panel, Programs, Uninstall a Program, selecting Microsoft VM for Java, and clicking Uninstall.

Anonymous said...

Strange, on my Vista machine after installing Visual Studio 6, the there is no "Microsoft VM for Java" option (or anything at all that says Java) in the programs list.

The only thing I do have is a "Microsoft Visual Studio 6.0 Enterprise Edition" option. Clicking that option brings up the installer for VS6, but there's no checkbox in that installer to disable or un-install the Java VM.

Mike Dimmick said...

Well, maybe it was fixed in Vista RTM. I haven't had the chance to check yet - while our Action Pack copy has now turned up at work, I've not installed VS 6.0 on it. eVC is still broken.

Anonymous said...

Thank you! Worked perfectly. Put in a little empty file with the correct name and it solved the whole Java VM problem. Used this on Windows XP SP2 with VS 2005 installed as well.

Anonymous said...

Thanks. Putting a blank msjava.dll as suggested by you in windows/system32 prevented the VS6 Studio installation from trying to install the now obsolete msjava onto my XP SP3.

Philip Stilianos

Anonymous said...

tx, I discovered how to bypass msjava some time ago but forgot it, tx.

Anonymous said...

Thanks for the msjava.dll tip. Helped me a lot.