JDK-4912211 : add mechanism to restore hijacked .jar and .jnlp file extensions
  • Type: Enhancement
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 1.4.2,5.0u2,5.0u4
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic,windows_2000
  • CPU: generic,x86
  • Submitted: 2003-08-26
  • Updated: 2006-08-15
  • Resolved: 2006-08-15
Related Reports
Duplicate :  
Relates :  
Description
Name: rmT116609			Date: 08/25/2003


FULL PRODUCT VERSION :
1.4.2_01

FULL OS VERSION :
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.


A DESCRIPTION OF THE PROBLEM :
The JNLP file type is not associated on every install. If the .jnlp association is not there or corrupted then the install (uninstall/reinstall) does not repair it.

This may only occur on a machine with a number of JRE installed. It however should not matter. It should always 'refresh' the jnlp file type.

It's related to:

http://developer.java.sun.com/developer/bugParade/bugs/4640775.html
http://developer.java.sun.com/developer/bugParade/bugs/4718282.html

The problem still happens with 1.4.2_01.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Install 1.4.2_01
delete .jnlp file association
reinstall 1.4.2_01
try to run a jnlp file, it will not work

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
That a jnlp file will run
ACTUAL -
The file does not run and the user is asked which applicaiton they would like to use to run the jnlp file.

 
REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Not sure yet. Maybe if I remove all the versions of the JRE/SDK then the installer will reset the jnlp file type.
(Incident Review ID: 200536) 
======================================================================

Comments
EVALUATION needs to be evaluated in bot 1.4.2 and tiger ###@###.### 2003-08-26 When uninstalling tiger, if there is a version of JaWS on the system that is 1.4.2+, then that version will be associated with the JNLP extension. Whether or not JaWS is used to open JNLP files is determined by Windows current user preferrences (see comments section). All this is the correct uninstall behavior. When uninstalling 1.4.2, there is no reliable way to determine what the previous JaWS installation was. This is a known problem caused by the fact that prior to 1.4.2 JaWS was not installed with the JRE. Uninstalling 1.4.2_01 does not correctly associate the JNLP extension with a previous 1.4.2 installation. In order to correct this in a future 1.4.2_0x version, the CTE team will need to make the appropriate changes to the installer. ###@###.### 2003-09-03 not a problem in 1.5 or beyond - decommiting from dragon We should leave this bug open for creating a mechanism to restore hijacked .jar and .jnlp file extensions. We should look into fixing this for Mustang. ###@###.### 2004-07-19
19-07-2004

SUGGESTED FIX Add functionality to check both the system and user preferences for JAR and JNLP extensions. The function will restore hijacked extensions based on user preferences in the deployment properties file, which can be set from the control panel. Possible preference values for restoring hijacked extensions are always, never, and prompt. On a system where the extensions are either missing or already set to a previous J2SE release, the default preference value will be always. Otherwise the default will be never for JAR files, and prompt for JNLP files. The reason JAR will default to never if a different handler already exists for JAR files is this... It is possible that an administrator might want to override the JAR extension to run a script which would first run a JAR file through a virus checker, and then launch the JAR with Java. By defaulting to never override, enterprise administration will be easier to handle. The given user will still have the ability to change this default if it isn't the desired setting. This functionality might negatively impact startup time if it is run every time Java/JaWS is run. Therefore it will likely only be run whenever the control panel is started. ###@###.### 2003-09-04
04-09-2003

WORK AROUND From Windows Explorer right-click on a JNLP file to open the context menu and select "Open With". (This may have a sub-menu associated with it, in which case, select "Choose Program".) From the Open With dialog, select "javaws" from the recommended programs. (If it is not listed, then use the browse button to find it.) Make sure that "Always use the selected program to open this kind of file" is checked, and hit OK. ###@###.### 2003-09-03
03-09-2003