JDK-6651964 : PIP install removes bin\msvcr71.dll, "Error loading: C:\Program Files\Java\jre6\bin\client\jvm.dll"
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: beta,6u10
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: generic,x86
  • Submitted: 2008-01-17
  • Updated: 2010-09-17
  • Resolved: 2008-02-21
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 b12Fixed 7Fixed
Related Reports
Duplicate :  
Relates :  
C:\Program Files\Java\jre6\bin\MSVCR71.dll is getting deleted during 6u11 or 6u12 patch in place.

Symptoms reported by Rakesh:
"Error loading: C:\Program Files\Java\jre6\bin\client\jvm.dll" when Patch-in-Place from 6u10 to 6u11 using 6u10 b10 PIT build.


Systems with MSVCR71.dll installed to the Windows system directories seem to work.

SUGGESTED FIX webrev: http://sa.sfbay.sun.com/projects/deployment_data/6u10/6651964.0 UninstallJRE() and UninstallJavaRegSet() now passed a variable so it knows whether its called during JRE uninstall, JRE install, or JDK uninstall. MSIInstallJRE() calls UninstallJRE() with DURING_JRE_INSTALL. MSIUninstallJRE() calls UninstallJRE() with DURING_JRE_UNINSTALL. MSIUninstallSDK() calls UninstallJavaRegSet() with DURING_JDK_UNINSTALL. Only call RemoveInstalledFiles() when DURING_JRE_UNINSTALL. I've seen tests where msvcr71.dll could not be deleted by RemoveInstalledFiles() without sleeping 3 seconds after UninstallJQS() was called. Added logic to sleep and retry RemoveInstalledFiles() for up to 6 seconds before leaving the file and continuing on. java_install_reg.log may contain: -- Start in UninstallJavaRegSet -- Service stopped successfully JQS unregistered OK. -- RemoveInstalledFiles: DeleteFile(C:\Program Files\Java\jre6\bin\msvcr71.dll) failed. (GetLastError=5) -- Retrying RemoveInstalledFiles -- End in UninstallJavaRegSet --

EVALUATION RemoveInstalledFiles() is being called during a patch. This is related to code added for CR 6622174 java/install need to remove msvcr71.dll from the RemoveFile table