JDK-6909619 : Installing 64bit java configers 64bit javaws even for 32bit browsers when 32bit javaws was confiured
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 6u12
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows
  • CPU: x86
  • Submitted: 2009-12-11
  • Updated: 2013-06-04
  • Resolved: 2010-03-30
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.
6u21 b02Fixed 7Fixed
When Installing java on 64 bit windows platforms the registry is written such as to make the javaws.exe being installed the default handler for jnlp mime-types.  
Unfortunately this applies to both 32 and 64 bit browsers, so when installing the 64 bit Java the 64 bit javaws becomes the default handler even if the 32 bit version were already installed.
Since many applications have native libraries in only 32 bit, it is preferrable to use the 32 bit version of java web start when both are available.  
This can be done simply by not configuring javaws in the 64 bit installer if the 32 bit version is already configured.
Care would have to be taken how to regonfigure when the 32 bit java is uninstalled on systems that have the 64 bit still installed.

An even beter way to handle this is to build in interoperability between the 64 and 32 bit javaws launchers, so that either could use either 32 or 64 bit jres depending on a preference indicated in the jnlp file

EVALUATION My original proposal was to configure javaws w/o path, so that the default javaws in the system path would always be picked up. http://web-east.east/www/webrevs/andy/1.6.0_18/6909619 This works fine if both 32 and 64 bit versions are installed, however, if just one is installed, it leaves a dead link for the other browser. I think now, we should first do exactly what we do now, then if and only if both 32 and 64 bit versions of java are installed, register the mime type w/o the full path, so 32 bit browser will get 32 bit javaws, and 64 bit browser will get 64 bit javaws. and if say only 32 bit java is installed, both 32 bit browser and 64 bit browser will invoke 32 bit javaws as now. Longer term we should make javaws capable of launching 32 or 64 bit jres, using one launcher and respecting the -d32 or -d64 vm args as is currently done in the java launcher on Solaris.