JDK-6326045 : Problem with jre 1.4.2_08 install/unistall script
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 1.4.2
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_2000
  • CPU: x86
  • Submitted: 2005-09-20
  • Updated: 2013-06-04
  • Resolved: 2005-10-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.4.2_11 b01Fixed
Related Reports
Relates :  
Description
We have found what I believe to be a Bug in the JRE Installation package. apparently regardless of whether you  pass the command line switch to the install package  , when you uninstall the JRE  the previous version has it's update utility immediately turned on. This action occurs even when the previous version was installed with the update tab removed (disabled). The result of this is when you install 1.4.2_08 and attempt to uninstall 1.4.2_08 , 1.4.2_01 is immediately reconfigured with update immediately which launches the install pop window at scheduled interval & waits for user propmt. This problem causes problem for silent installation process for large enterprise setup. SBC is one of the customer where they have around 9000 desktops on which they do these activities very often and are suffering lot due to this issue. Also SBC has  mix setup where various versions of JRE's are present on there systems hence it's very difficult to predict which jre version it will fall back once you remove 1.4.2_08. Implementing  workaround of removing jucheck.exe  and jusched.exe
  from  java_home/jre/bin/ from fall back jre version is just not practical solution in such a large setup as we don't know which jre version on individual desktop it will fall back. Hence we can't suggest this solution to customer like SBC..  We feel this is serious bug and this need to be corrected in future jre releases.. SBC has grater impact of this issue and they have expressed serious concerns on this behavior.

To verify this behavior we used foll. steps which cleary demonstrates the problem:

1. Install jre 1.4.2_06 with given batch file in silent mode. We downloaded required file from java.sun.com which is meant for silent mode installation.

Create a install.bat file on Windows platform  with following single line.
 start /w j2jre-1_4_2_06-windows-i586-p.exe /S "/v/qn ADDLOCAL=ALL IEXPLORER=1 REBOOT=Suppress JAVAUPDATE=0 WEBSTARTICON=0"
 

2. JRE 1.4.2_06 gets installed and a ICON get created in control panel for java Plug-in.
When clicked on same I see total 7 tabs which are

Basic
Advance
Browser
Proxies
Cache
Certificates
About

please note there is no update tab here. In advance tab I could see pull down menu shows 1.4.2_06 only.

3. Installed 1.4.2_08 jre with another "install08.bat file which has following single line in it:
start /w j2jre-1_4_2_08-windows-i586-p.exe /S "/v/qn ADDLOCAL=ALL IEXPLORER=1 REBOOT=Suppress JAVAUPDATE=0 WEBSTARTICON=0"

4. Again checked with java plug-in tab and see same tabs only addition of 1.4.2_08 jre in the list in advance tab plugin option. But still no update tab even at this stage.

5. Control panel shows only 1.4.2_06 and 1.4.2_08 as I don't have any other version.

6. use add/remove program to remove 1.4.2_08

7. 1.4.2_08 get removed from list in the control panel.

8. Now when I click on java plugin I see a UPDATE tab has been newly added with update  tab  checked.
We don't know rationle behind this. This happens with any jre removal with update tab get resetted in java plugin for fall back jre version eventough it was installed  with flag JAVAUPDATE=0.
Can we fix this issue in upcoming jre releases.

Comments
SUGGESTED FIX In UninstallJRE function set boolean flag and while installing registry just check the value of boolean. And based on that update the Enableupdate key in the registry.
13-10-2005

EVALUATION Problem with jre 1.4.2_08 install/unistall script). I found that problem is happening becz of "EnableJavaUpdate" registry value is getting modified after uninstallation. The registry path is. HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Update\Policy Further i looked in the RegUtils.cpp file to trace down the problem. And i found that our un-installer is calling UninstallJRE function and this calls the ReregisterCurrentJRE function to register the currently installed JRE on the machine. ReregisterCurrentJRE function calls the InstallJavaJRERegistrySettings. In InstallJavaJRERegistrySettings function third last parameter is BOOL bUpdate. This bUpdate is used to set the "EnableJavaUpdate" registry value. This variable bUpdate is always passed TRUE. Becz of this "EnableJavaUpdate" registry value is set to 1.
13-10-2005