JDK-7198599 : Incorrect UninstallString windows register key in JDK 1.6, 1.7 and 8
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 8,9
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: windows
  • CPU: generic
  • Submitted: 2012-09-14
  • Updated: 2015-09-29
  • Resolved: 2015-05-08
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 JDK 9
8u60 b17Fixed 9Fixed
Related Reports
Duplicate :  
Relates :  
Description
For fast uninstalling all java product from windows machine we can use value from register key UninstallString for every java product which installed on PC.
All JRE's consist correct register key which begins with "/X" option. 
All JDK's consist incorrect register key which begins with "/I" option.
If change option "/I" to option "/X" then JDK will correctly uninstalled, else nothing happens and JDK stayed on PC.

It is not regression because found in JDK 6,7 and 8

Steps to reproduce:
1. Install JDK with JRE
2. Find JRE and JDK product nodes in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion
3. Run in command line value from UninstallString key like 
(for JRE)
MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83217007FF}
(for JDK)
MsiExec.exe /I{32A3A4F4-B792-11D6-A78A-00B0D0170070}
with additional parameters "/quiet /norestart" like
MsiExec.exe /I{32A3A4F4-B792-11D6-A78A-00B0D0170070} /quiet /norestart
4. If you run all values from UninstallString keys in java products but JDK still there bug is reproduced.

Comments
Verified on JDK 8u60 b17 PIT.
19-05-2015

The fix is to set the ARPNOMODIFY property in the MSI to 1 to generate an UninstallString that uses the /X parameter. (see: <Property Id="ARPNOMODIFY" Value="1" /> in jre.xml) Will be fixed soon.
14-06-2013