JDK-7057598 : uninstall of JRE 7 should not restore old deployment toolkit dll
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 7
  • Priority: P2
  • Status: Resolved
  • Resolution: Cannot Reproduce
  • OS: windows
  • CPU: x86
  • Submitted: 2011-06-21
  • Updated: 2013-07-22
  • Resolved: 2013-07-22
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 8
8Resolved
Related Reports
Relates :  
Description
install JRE 6ux, and JRE 7.

check the deployJava1.dll in system32 directory - it will be the JRE 7 copy.

uninstall JRE 7.

check the deployJava1.dll in system32 again - it will be restored to the 6uX version.

this is a bug - we should always leave behind the latest and greatest DT dll on the system.

same should apply to npdeployJava1.dll also.

Comments
I have checked with 6u34, 7u25 and this problem was not reproducible. Uninstall of JRE 7 doesn't restore old DT dll to previous version.
22-07-2013

EVALUATION It looks like bUpdateStartSched is set to TRUE iff InstallJava() is called from ReregisterCurrentJRE() See 7044944 related to npdeployJava1.dll
22-06-2011

SUGGESTED FIX From Thomas: I think we can fix the problem in a simpler way ? We just need to find the code that did the restore of DT dll to previous version, and then not call it during uninstall. There is no reason to do any restore at all. (looked at install repo: RegInstall.cpp - I think it's because during uninstall, we call ReregisterCurrentJRE, which call InstallJava, and InstallJava always call InstallDeployToolkit. We can simply make InstallDeployToolkit a no-op during uninstall to fix this ?)
22-06-2011