Windows installer backward compatibility issue (Windows Registry)
- Dominant language
- Jinja
- Stars
- 168
- Forks
- 77
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 12
Description
## Summary
Adoptium MSI installer does not set the same registry settings as the Oracle installer.
The most important one missing is "CurrentVersion".
But also the entire "Java Runtime Environment" (a.k.a. public JDK) section is missing.
## Steps to reproduce
- Install the OpenJDK8U-jdk_x64_windows_hotspot_8u302b08.msi
- Choose "JavaSoft (Oracle) registry keys"
## Expected results
The OracleJDK registry settings for JDK:
```
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit]
"CurrentVersion"="1.8"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8]
"JavaHome"="C:\\Program Files\\Java\\jdk1.8.0_111"
"MicroVersion"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8.0_111]
"JavaHome"="C:\\Program Files\\Java\\jdk1.8.0_111"
"MicroVersion"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8.0_111\MSI]
"INSTALLDIR"="C:\\Program Files\\Java\\jdk1.8.0_111\\"
"NOSTARTMENU"="0"
```
The OracleJDK registry settings for public JRE:
```
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment]
"CurrentVersion"="1.8"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8]
"RuntimeLib"="C:\\Program Files\\Java\\jre1.8.0_111\\bin\\server\\jvm.dll"
"JavaHome"="C:\\Program Files\\Java\\jre1.8.0_111"
"MicroVersion"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8.0_111]
"JavaHome"="C:\\Program Files\\Java\\jre1.8.0_111"
"MicroVersion"="0"
"RuntimeLib"="C:\\Program Files\\Java\\jre1.8.0_111\\bin\\server\\jvm.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8.0_111\MSI]
"INSTALLDIR"="C:\\Program Files\\Java\\jre1.8.0_111\\"
"JU"=""
"OEMUPDATE"=""
"FROMVERSION"="NA"
"FROMVERSIONFULL"=""
"PRODUCTVERSION"="8.0.1110.14"
"EULA"=""
"JAVAUPDATE"="1"
"AUTOUPDATECHECK"="1"
"AUTOUPDATEDELAY"=""
"FullVersion"="1.8.0_111-b14"
```
## Actual results
The OpenJDK registry settings
```
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit]
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8]
"JavaHome"="C:\\Program Files\Java\\jdk-8.0.302.8-hotspot\\"
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\8.0.302.8]
"JavaHome"="C:\\Program Files\Java\\jdk-8.0.302.8-hotspot\\"
```
## Triaging info
Java version:
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (Temurin)(build 25.302-b08, mixed mode)
What is your operating system and platform?
Windows 7 64bit
How did you install Java?
Used the MSI installer.
Did it work before?
Yes, with OracleJDK 1.8.0_111
Did you test with other Java versions?
Yes, with OracleJDK 1.8.0_111
Contributor guide
Research direction
Start by tracing the MSI installer path selected by the “JavaSoft (Oracle) registry keys” option and compare its generated registry entries with the expected and actual exports in the report. Done means the installer creates CurrentVersion and the documented Java Runtime Environment and JDK keys without breaking the existing installation flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100