JDK-8078229 : wrong uninstall sting in registry
  • Type: Bug
  • Component: install
  • Sub-Component: install
  • Affected Version: 8u45
  • Priority: P3
  • Status: Resolved
  • Resolution: Duplicate
  • OS: windows_8
  • CPU: x86
  • Submitted: 2015-04-16
  • Updated: 2015-04-22
  • Resolved: 2015-04-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.
Other
tbd_minorResolved
Related Reports
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
jdk 8 u45 and u40

ADDITIONAL OS VERSION INFORMATION :
windows 10 technical preview

EXTRA RELEVANT SYSTEM CONFIGURATION :
nothing special

A DESCRIPTION OF THE PROBLEM :
jdk 8 installer (or msi) places an incorrect uninstall string in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall
which starts the installer instead of the uninstaller, makig it impossible to uninstall the jdk.
editing the UninstallString in regedt32 replacing the /I switch to /X solves the problem, and produces seemingly the desired behavior.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
press uninstall in Settings / System / Apps & features jdk

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
uninstall
ACTUAL -
installer starting, unable to remove base package (the actual jdk component)

REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
editing registy, correcting uninstallstring key (see above)


Comments
/I is default msi switch for install. msiexec.exe /x {GUID} is the msi switch for uninstall. It's a known issue that HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall key incorrectly has /I instead of /X as the uninstall command. The issue duplicates JDK-7198599 and is not limited to Windows 10. As per Yulia's evaluation at JDK-7198599, fix would be to set msi property ARPNOMODIFY" to "1" for using /X parameter.
22-04-2015

Checked this on Windows 7 and uninstall works fine with default switch /l in uninstall string in registry. From registry entries, 8u40 uninstall string: MsiExec.exe /I{64A3A4F4-B792-11D6-A78A-00B0D0180400} 8u45 uninstall string: MsiExec.exe /I{64A3A4F4-B792-11D6-A78A-00B0D0180450} This could be a Windows 10 specific issue. Need access to a Windows 10 machine to investigate further. Meanwhile, moving this up for further evaluation.
21-04-2015