JDK-6611382 : Add support for roaming user profiles
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u5
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows
  • CPU: generic
  • Submitted: 2007-09-30
  • Updated: 2010-09-08
  • Resolved: 2008-06-16
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.
6u10 b21Fixed
Related Reports
Relates :  
The current Java Plug-In contains custom native code (on Windows) for supporting roaming user profiles. Need to incorporate this into the browser-side code and feed value of user.home to applet sub-process. Need to revisit current code and use of Config class to make sure it is working properly.
Also need to check the capturing of the USER_JPI_PROFILE environment variable from CJavaJNI.cpp and the sending of this value up to Java via the javaplugin.user.profile system property in the old Java Plug-In. Apparently the Config class looks for this system property.

SUGGESTED FIX http://sa.sfbay.sun.com/projects/deployment_data/6u10/6611382.0

EVALUATION After studying the code in the old Java Plug-In supporting roaming user profiles and custom locations for deployment.properties, it was decided to not propagate the code which overrides the Java system property user.home with the USERPROFILE environment variable from the old Java Plug-In to the new Java Plug-In. The native code in the System class which determines the value of user.home seems to be more well-founded than the code in the old Java Plug-In, and apparently the discrepancy in behavior between the Java Plug-In and the standard Java launcher has been a longstanding issue (see 6317103). There have been no complaints from enterprise customers testing the new Java Plug-In of any loss in functionality (in particular, lack of support for roaming user profiles) so it is believed that the workarounds in the old Java Plug-In may not even be necessary any more. To provide support for retargeting the directory containing the deployment data using the USER_JPI_PROFILE environment variable, this variable is now queried on the browser side and the javaplugin.user.profile system property is set both on the browser and attached JVM sides to achieve consistency, since both sides use the Config class, which pays attention to the setting of this system property. Did some associated cleanups and simplifications, including making JavaRunTime.initEnvironment public to avoid needing to use reflection to call it, and removed some FIXMEs from earlier in development that are incorrect based on our new understanding of how running on earlier versions of the JRE works. Tested manually by setting USER_JPI_PROFILE and ensuring that the appropriate directory was created and used for deployment.properties and other deployment file accesses. No other test case at this time.