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.
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