This problem was found by code inspection and there's no testcase currently to show any failure. In general, the KEY_WRITE flag shouldn't be used if opening a registry key for reading only. On Vista, writing a registry key under the HKLM branch requires a proecess with high integrity. So a process with integrity below the high level will fail when trying to open a registry key under the HKLM branch with KEY_WRITE flag on Vista.
The GetLatestJavaKey() function in RegCommon.cpp has this problem.
All the registry keys in that method should be opened with the KEY_READ flag only.
Please also check other registry related code in regutils and regutilsmsi for this kind of issue.
The GetLatestJavaKey() function in RegCommon.cpp has this problem.
All the registry keys in that method should be opened with the KEY_READ flag only.
Please also check other registry related code in regutils and regutilsmsi for this kind of issue.