JDK-6649371 : JNLP Association (per-user) does not work in Vista
  • Type: Bug
  • Component: deploy
  • Sub-Component: webstart
  • Affected Version: 6u10
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-01-11
  • Updated: 2010-09-24
  • Resolved: 2009-03-09
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 6 JDK 7
6u14 b03Fixed 7Fixed
Description
JNLP file association does not work in Vista. Registry cannot be created. See comments for tests cases.

Comments
SUGGESTED FIX http://web-east.east.sun.com/www/webrevs/ngthomas/6649371/webrev/
19-02-2009

EVALUATION more investigation show that per-user level association does not require HKLM keys - HKCU is sufficient. Java Web Start does have enough permission to update HKCU keys in Vista. Fix in 6u14 system level association is more complex though (HKLM) - will open new bug for that.
18-02-2009

EVALUATION to register association , we need to write to HKLM registry branch, which java web start won't have permission to do so on Vista. Problem exists in older JRE as well, e.g I tested on 6.0 com.sun.deploy.association.RegisterFailedException: Key SOFTWARE\Classes\MIME\Da tabase\Content Type\application/x-dmt creation error! at com.sun.deploy.association.utility.WinRegistryUtil.regCreateKeyEx(Unk nown Source) at com.sun.deploy.association.utility.WinRegistryUtil.addMimeType(Unknow n Source) at com.sun.deploy.association.utility.WinAppAssociationWriter.registerAs sociation(Unknown Source) at com.sun.deploy.association.AssociationService.registerSystemAssociati on(Unknown Source) at com.sun.javaws.WinInstallHandler.registerAssociationInternal(Unknown Source) at com.sun.javaws.LocalInstallHandler.registerAssociation(Unknown Source ) at com.sun.javaws.LocalInstallHandler.createAssociations(Unknown Source) at com.sun.javaws.LocalInstallHandler.performIntegration(Unknown Source) at com.sun.javaws.LocalInstallHandler.install(Unknown Source) at com.sun.javaws.Launcher.notifyLocalInstallHandler(Unknown Source) at com.sun.javaws.Launcher.prepareLaunchFile(Unknown Source) at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source) at com.sun.javaws.Launcher.launch(Unknown Source) at com.sun.javaws.Main.launchApp(Unknown Source) at com.sun.javaws.Main.continueInSecureThread(Unknown Source) at com.sun.javaws.Main$1.run(Unknown Source) at java.lang.Thread.run(Unknown Source) we probably need to use jbroker to create the keys
14-04-2008