JDK-7111793 : deployJava.js installs 1.6 when asked for 1.7 on clean machine
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_7
  • CPU: x86
  • Submitted: 2011-11-14
  • Updated: 2012-05-10
  • Resolved: 2012-05-10
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.
JDK 7 JDK 8
7u4Fixed 8 b18Fixed
Description
FULL PRODUCT VERSION :


ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.1.7601]

A DESCRIPTION OF THE PROBLEM :
If there is no version of Java on machine when a html page is loaded in Firefox or IE with the following script:
<script>
    deployJava.setInstallerType("kernel");
    deployJava.createWebStartLaunchButton("swing/etfLocalWin.jnlp", '1.7.0');
</script>

When the Launch button is clicked,  jre-6u29-windows-i586-iftw-k.exe is downloaded and run.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Make sure no Java of any kind. Paste this to an html file on the desktop & double click.  Then click Launch.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Launch me!!!
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
deployJava.setInstallerType("kernel");
deployJava.createWebStartLaunchButton("yourAppHere.jnlp", '1.7.0');
</script>
</body>
</html>

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Java 1.7 JRE installed

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
Launch me!!!
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
deployJava.setInstallerType("kernel");
deployJava.createWebStartLaunchButton("yourAppHere.jnlp", '1.7.0');
</script>
</body>
</html>
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Have the customer go around twice.  Once there is a Java on the machine the process is different and you get 1.7 the second time.  You can imagine how hard the customer may have to swallow to actually do this though.

This is a new product launch occurring soon.  Wanted to get the client base on 1.7 right from the start, except for MacOS.

Comments
EVALUATION this fix will address the javascript in deployJava.js to not include hint for kernel when accessing servlet on java.sun.com/getjava for kernel. servletan should still be fixed to return latest version rather the latest kernel version (when kernel hint is given)
21-11-2011

EVALUATION This seems like a DT issue. Assigning to common deploy to investigate.
21-11-2011