-
Bug
-
Resolution: Fixed
-
P4
-
8
-
b01
-
generic
-
windows_8
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8287014 | openjdk8u342 | Severin Gehwolf | P4 | Resolved | Fixed | b03 |
If building OpenJDK8 with Visual Studio 2017, "jdk\bin\java.exe" command fails to start on Windows 8.1 fcs.
On Windows 8.1 fcs, the dlls which vcruntime140.dll depends on aren't installed, such as api-ms-win-crt-stdio-l1-1-0.dll, so "jdk\bin\java.exe" command can't find the dependent dlls on loading vcruntime140.dll.
The dlls are installed to Windows 8.1 by Microsoft Visual C++ 2015 Redistributable or Windows Update (KB2999226 or KB3118401).
A similar problem was reported and fixed inJDK-8202557. This fix puts the required dlls into "jdk\jre\bin", so "jdk\jre\bin\java.exe" command was successful.
However, the dlls in "jdk\jre\bin" are not searched when "jdk\bin\java.exe" command loads vcruntime140.dll.
This problem doesn't occur on Windows 10 because the dlls are preinstalled.
Also, this problem doesn't affect jdk9 or later. That is because jre isn't created and the dlls are put into "jdk\bin".
This problem does not occur in environments which os's dlls can be loaded, but jdk should load the dll from its own binary directory.
On Windows 8.1 fcs, the dlls which vcruntime140.dll depends on aren't installed, such as api-ms-win-crt-stdio-l1-1-0.dll, so "jdk\bin\java.exe" command can't find the dependent dlls on loading vcruntime140.dll.
The dlls are installed to Windows 8.1 by Microsoft Visual C++ 2015 Redistributable or Windows Update (KB2999226 or KB3118401).
A similar problem was reported and fixed in
However, the dlls in "jdk\jre\bin" are not searched when "jdk\bin\java.exe" command loads vcruntime140.dll.
This problem doesn't occur on Windows 10 because the dlls are preinstalled.
Also, this problem doesn't affect jdk9 or later. That is because jre isn't created and the dlls are put into "jdk\bin".
This problem does not occur in environments which os's dlls can be loaded, but jdk should load the dll from its own binary directory.
- backported by
-
JDK-8287014 OpenJDK8 fails to start on Windows 8.1 after upgrading compiler to VS2017
- Resolved