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 |
| 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."