MS vs SUN JAVA VM

 

This is a tragedy !!!  Microsoft has removed the capability to run SUN-based JAVA from all new downloads of IE6.  Who else has the power to radically curtail the browsing experience of millions of users in one fell swoop ??  

 

Well, actually, it was a court order that forced MS to stop development of the JAVA VM (see http://www.microsoft.com/windowsxp/evaluation/news/jre.mspx )- but MS certainly did not try to fight it or work things out with SUN.  They were more than happy to follow the court order, which effectively gives them an ability to stop including the JAVA VM and to put a big hurt on SUN.

 

Microsoft no longer offers JAVA software, including the virtual machine for their web browser, IE6.  They still offer a security update, v3810.  However, v3810 is just an update for previous versions of their VM.  It does not work as a standalone VM !!  MS has pulled all downloads for the VM from their website, but they are available elsewhere (incuding here).  Microsoft will no longer support JAVA at all on December, 2007 - not even security updates !!  

What Microsoft wants you to Do

 

Bottom Line - get rid of their competitor's JAVA (from SUN Microsystems) completely - and switch to Microsoft's competing technology (called ".NET" ).  The following statement is in their "JAVA Transition Guide", which is available on their JAVA transition website - this says it all - that your system is only "Clean" if it has been cleared of competitors software:

 

"a successful transition is one that results in “clean” systems without any MSJVM dependent files and applications, and with the MSJVM removed. However the definition of a “clean” system is based on your decision. If you are satisfied with simply removing the MSJVM, then once you have accomplished that goal you are finished. If you want to initiate a full scale migration project of every application with a MSJVM dependency to a .NET environment or install an alternate JRE, then once you have completed that goal you are done."

 

JVM vs JRE 

 

Microsoft included JVM (Java Virtual Machine) in the IE6 browser because so much of the web included JAVA applets and scripts.  But before JVM was ever created - Sun developed the programming language called "JAVA", and their software to run it on your browser is called the JRE (Java Runtime Environment).  Over the years, Microsoft's VM and SUN's VM difereged a bit as they were upgraded.  Each of them works for standard JAVA, bit they do not support all of the bells and whistles of the other guy.

 

JVM(Java Virtual Machine) - Microsoft's software emulation of a computer that is capable of running programs written in Java language.

JRE (
Java Runtime Environment) - Sun's VM - software that allows Windows to run SUN-based JAVA within the browser.  Basically JRE = JVM + the SUN Java API library. If you want to run JRE instead of JVM, see the JRE Upgrade guide.

JDK (Java Development Kit) or Sun's Java SDK (Java Software Development Kit) - the Sun JAVA runtime, compiler and development tools.  JDK = JRE + compiler + development tools. 

The Status of Microsoft and their JAVA VM

 

http://www.microsoft.com/mscorp/java/ 

 

Support for the Microsoft Java Virtual Machine was scheduled to end September 30, 2004. However, on April 2, 2004 Sun and Microsoft signed a new agreement that extends Microsoft's license to use Sun's Java source code and compatibility test suites until December 31, 2007. However, the Microsoft JVM is no longer available for distribution from Microsoft and there will be no enhancements to it. Microsoft products that include it, will be replaced by versions not containing the Microsoft JVM.  The IE6 browser will still run MS JAVA but even that will be removed by 2007 (see http://www.microsoft.com/mscorp/java/ ).

 

Here is a great website explaining this: http://www.mvps.org/marksxp/WindowsXP/java.php 

 

When WinXP came out, and Microsoft released their first Service Pack, SP1, they included their Microsoft JAVA VM, which had support for SUN JAVA.  The code was licensed to Microsoft by SUN.  Then they yanked the SUN JAVA component, and in their next service pack, SP1a, they removed the MS JAVA VM altogether.  Suddenly, millions of XP users could not view JAVA websites !!  

 

Even worse, many users heard about this and therefore kept SP1 and did not update to SP1a (the only difference between the two is that SP1a pulls out the JAVA VM.  Microsoft has continued support for existing users that have the VM installed - they later added a "critical update" to the Windows Update site, once some security holes were found in the original VM versions.  But the update would not work for SP1a users, since that version has no VM !! 

 

*** some SP1a users were so frustrated that they reinstall windows and searched until they found the original SP1.  BUT all they have to do is the install VM v3805 or v3809, and then run the 3810 security update to restore JAVA support.

 

How to check which version of MS VM you have installed:

 

NOTE:  below we show you how to check the version with both Win98 and WinXP - however, the fix described in these sections is for WinXP only !!

 

OS Version

What to Enter

Win98

1) Click Start/Run . . . command
2)  type "jview"

WinXP, NT, or 2000 1)  Click start/run . . . cmd
2)  type "jview"


The Results - you will see one of these displayed in the DOS Box

 

Case 1)  MS JAVA VM is NOT installed:

 

C:\Documents and Settings\Mark>jview
'jview' is not recognized as an internal or external command, 
operable program or batch file.

Case 2)  MS JAVA VM is installed: 

NOTE: the version is the last 4 numbers on the 'Microsoft (R) Command-line Loader for Java' line

 

C:\Documents and Settings\Mark>jview
Microsoft (R) Command-line Loader for Java Version 5.00.3810
Copyright (C) Microsoft Corp 1996-2000. All rights reserved.

NOTE:  this version shown above (3810) is the updated MSJAVA that is secure - always update 3805 to 3810 !!

 

IMPORTANT LINKS

 

You can test whether Java is working on your machine at the following sites:

http://www.pocoso.de/pocoso052.html
http://www.clan.lib.ri.us/clan/javatest.html
http://www.fitwise.com/testjava.asp (both 1.0 and 1.1 and what's installed)
http://coglab.wadsworth.com/support/browsercheck.html
http://www.ces.clemson.edu/webct/browser_detect.html

and you can test Javascript here:   http://www.dancespots.net/browsertest.htm

and check whether you have the MS VM installed and which version here:   http://www.visualware.com/personal/support/index.html#java

There is good information concerning all aspects of the Java situation here:   http://www.javatester.org/installing.html

Be aware, however, that after Sept. 30, 2004 (this has been extended to 2007), MS will apparently no longer be distributing Java or providing any support for Java including security fixes. (It's unclear as to how 6/26/03 court decision will affect this) - so you might want to start thinking about the future.  See here:

http://www.microsoft.com/windowsxp/pro/evaluation/news/jre.asp, and
http://www.microsoft.com/mscorp/java/ ,and more recently here:
http://www.reuters.com/newsArticle.jhtml;jsessionid=5JKM3R05NOIMUCRBAELCFEY?type=technologyNews&storyID=3572282


You can get the Sun Java J2SE RunTimes or SDK here:
http://java.sun.com/downloads/index.html (all versions - select using
the dropdown)

Sun also offers an automatic download and install of the 1.4 Java
plug-in here: http://java.sun.com/getjava/download.html



For the MS Java VM, you may need to install  v.3809 prior to upgrading to v. 3810 if you didn't previous have MS Java v. 3805 or 3809 installed.

If your OS is Win2000 SP2, SP3 but NOT SP4 then you can download and install the MS Java VM v. 3809 from here:
http://download.windowsupdate.com/msdownload/update/v3-19990518/CabPool/Q810030_W2K_510A502BA8F9B6F19230BB2BCCE87D5474AC9DCD.exe
or here:
http://www.biologylab.awlonline.com/MSJavaVM/Software/en/com_microsoft.windows2000/x86win2k/com_microsoft.Q810030_W2K_SP4_5849/Q810030_W2K.exe

For Win2000 SP4, you'll need to re-install v.3805, from here:  http://www.nhyrvana.com/files/pop.cgi?file=win2kmsjavx86.zip   

It will download as   Pop.zip.  Just unzip it and then execute the resultant msjavx86.   This is the only version that I know of that will re-install under SP4.

For all other OS's:

Download and install the MS Java VM v. 3809 from one of the links here:
http://www.nhyrvana.com/files/pop.cgi?file=3809.exe (it will be named
pop.exe), or here:
http://www.biologylab.awlonline.com/MSJavaVM/Software/en/com_microsoft.WindowsXP/x86WinXP/com_microsoft.javavm_3809_5853/msjavwu.exe,
or here:
http://secinfo.huji.ac.il/patches/Win-xp/msjavwu.exe


Then upgrade to v. 3810:

For all OS's except Win2k, obtain v. 3810 here:
http://fileforum.betanews.com/detail.php3?fid=1050022631

For all versions of Win2k - SP2, SP3 or SP4 - obtain v. 3810 here:
http://download.microsoft.com/download/5/7/7/577b7277-227d-4163-9b18-423356321682/Q816093_W2K_SP4_X86_EN.exe

Both Java VM's can co-exist on your machine quite nicely. Just select which one you want to use in Tools|Internet Options|Advanced and restart
all IE browsers. Here, courtesy of Michel Gallant, MVP Security, is a tiny utility which allows you to toggle and view status of your current
Java VM vendor associated with IE:  http://pages.istar.ca/~neutron/SelectIEJVM

A note from Mitch Gallant:  "One note about the JVM Selector utility:
 If/when you install a new version of Sun J2SE, you need to manually select to have Sun JVM as default JVM for IE (in install), or after install via the JavaPlugin control panel. This generates the necessary win32 registry entries, which must be present for the utility to know about JavaPlugin.  After that, the utility should work properly."