JDK-6880411 : Default system cache is wrong location, and system apps and resources cannot be deleted
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 6u18
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_7
  • CPU: generic
  • Submitted: 2009-09-09
  • Updated: 2010-12-03
  • Resolved: 2009-11-26
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
6u18 b03Fixed 7Fixed
Description
RFE: 6862781, added a default system cache location on windows platforms.
On windows 7 the mechanism to select this default is broken, and we just use c:/Sun/Java/Deployment/cache as the location of the system cache.

At a minimum, if no suitable directory can be found to put the cache in, no default system cache should be configured on windows 7
Bug in implementation of default system cache is causing it to be in the wrong location in all cases.  On XP and Vista, this is not fatal, system cache is created and everyone else can read it and write it.
On windows 7 - this is worse, because this wrong location is not writeable by other users. (and it is installed from Java Installer which has elevated its priviliges and ecome a differant user)

Also - Cache Viewer should be able to remove the system cache entries, if the user has write permission to the cache.

Comments
EVALUATION The bug is in WinConfig.getPlatformAllUserHome() allUser = (allUser.endsWith(File.separator) ? "" : File.separator); instead of: allUser += (allUser.endsWith(File.separator) ? "" : File.separator);
10-09-2009