It happened when I tried to upgrade my JDK from 8u162 to 8u172. I found all the 8u162, 8u171 and 8u172 installers exits with code 0xC0000005
, but this happens only with JDK 8. JDK 10.0.1 could be installed successfully.
Here is the dump file analysis by Visual Studio:
Dump Summary
------------
Dump File: jdk-8u172-windows-x64.exe.10568.dmp : C:\Users\CNife\AppData\Local\CrashDumps\jdk-8u172-windows-x64.exe.10568.dmp
Last Write Time: 2018/4/21 21:54:54
Process Name: jdk-8u172-windows-x64.exe : C:\Users\CNife\AppData\Local\Temp\jds301015.tmp\jdk-8u172-windows-x64.exe
Process Architecture: x64
Exception Code: 0xC0000005
Exception Information: The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
Heap Information: Not Present
System Information
------------------
OS Version: 10.0.16299
CLR Version(s):
Modules
-------
Module Name Module Path Module Version
----------- ----------- --------------
jdk-8u172-windows-x64.exe C:\Users\CNife\AppData\Local\Temp\jds301015.tmp\jdk-8u172-windows-x64.exe 8.0.1720.11
ntdll.dll C:\Windows\System32\ntdll.dll 10.0.16299.334
kernel32.dll C:\Windows\System32\kernel32.dll 10.0.16299.15
KERNELBASE.dll C:\Windows\System32\KERNELBASE.dll 10.0.16299.371
apphelp.dll C:\Windows\System32\apphelp.dll 10.0.16299.98
ole32.dll C:\Windows\System32\ole32.dll 10.0.16299.371
combase.dll C:\Windows\System32\combase.dll 10.0.16299.15
ucrtbase.dll C:\Windows\System32\ucrtbase.dll 10.0.16299.248
rpcrt4.dll C:\Windows\System32\rpcrt4.dll 10.0.16299.371
bcryptPrimitives.dll C:\Windows\System32\bcryptPrimitives.dll 10.0.16299.98
gdi32.dll C:\Windows\System32\gdi32.dll 10.0.16299.15
gdi32full.dll C:\Windows\System32\gdi32full.dll 10.0.16299.98
msvcp_win.dll C:\Windows\System32\msvcp_win.dll 10.0.16299.248
user32.dll C:\Windows\System32\user32.dll 10.0.16299.125
win32u.dll C:\Windows\System32\win32u.dll 10.0.16299.15
sechost.dll C:\Windows\System32\sechost.dll 10.0.16299.15
shell32.dll C:\Windows\System32\shell32.dll 10.0.16299.371
msvcrt.dll C:\Windows\System32\msvcrt.dll 7.0.16299.125
cfgmgr32.dll C:\Windows\System32\cfgmgr32.dll 10.0.16299.15
SHCore.dll C:\Windows\System32\SHCore.dll 10.0.16299.15
windows.storage.dll C:\Windows\System32\windows.storage.dll 10.0.16299.371
advapi32.dll C:\Windows\System32\advapi32.dll 10.0.16299.371
shlwapi.dll C:\Windows\System32\shlwapi.dll 10.0.16299.15
kernel.appcore.dll C:\Windows\System32\kernel.appcore.dll 10.0.16299.15
powrprof.dll C:\Windows\System32\powrprof.dll 10.0.16299.15
profapi.dll C:\Windows\System32\profapi.dll 10.0.16299.15
oleaut32.dll C:\Windows\System32\oleaut32.dll 10.0.16299.15
crypt32.dll C:\Windows\System32\crypt32.dll 10.0.16299.15
msasn1.dll C:\Windows\System32\msasn1.dll 10.0.16299.15
version.dll C:\Windows\System32\version.dll 10.0.16299.15
msi.dll C:\Windows\System32\msi.dll 5.0.16299.309
bcrypt.dll C:\Windows\System32\bcrypt.dll 10.0.16299.125
imm32.dll C:\Windows\System32\imm32.dll 10.0.16299.15
I am happy to announce that this problem has been solved! Please go down and view my answer for steps. Thanks for your help!
I am happy to discover why I couldn't install JDK8 on my Windows 10.
The real reason is that there was a broken JDK8 installation on my Windows. This installation of version 8u152 wasn't totally removed by JDK's installer when upgraded to 8u162. So when I tried to upgrade 8u162 to 8u172, the wrong registry values always lead to failure.
I found the real reason when I tried to install JDK through Visual Studio Installer. No surprisely, it failed with the same code 0xC0000005. Different from JDK installers, Visual Studio Installer left detailed installation log. At the tail of log, I found the following lines:
[2018/04/25 23:19:10.371, jdk-8u161-windows-i586.exe (PID: 12756, TID: 12572), JavaEnvironment.cpp:473 (JavaEnvironment::detect)]
TRACE: Entering JavaEnvironment::detect
[2018/04/25 23:19:10.386, jdk-8u161-windows-i586.exe (PID: 12756, TID: 12572), JavaEnvironment.cpp:490 (JavaEnvironment::detect)]
TRACE: Installed Java detected: version=1.8.0; arch=64; productCode={64A3A4F4-B792-11D6-A78A-00B0D0180152}; type=1
[2018/04/25 23:19:10.386, jdk-8u161-windows-i586.exe (PID: 12756, TID: 12572), JavaEnvironment.cpp:140 (`anonymous-namespace'::detectHomeDir)]
TRACE: Find home dir of {64A3A4F4-B792-11D6-A78A-00B0D0180152} Java installation
[2018/04/25 23:19:10.402, jdk-8u161-windows-i586.exe (PID: 12756, TID: 12572), JavaEnvironment.cpp:154 (`anonymous-namespace'::detectHomeDir)]
WARNING: Unexpected empty value of [InstallLocation] product property of {64A3A4F4-B792-11D6-A78A-00B0D0180152} Java installation. Fall back to heuristic home directory detection.
[2018/04/25 23:19:10.402, jdk-8u161-windows-i586.exe (PID: 12756, TID: 12572), JavaEnvironment.cpp:162 (`anonymous-namespace'::detectHomeDir)]
TRACE: Try home directory from [ProductIcon] product property of {64A3A4F4-B792-11D6-A78A-00B0D0180152} Java installation.
[2018/04/25 23:19:10.419, jdk-8u161-windows-i586.exe (PID: 12756, TID: 12572), JavaEnvironment.cpp:191 (`anonymous-namespace'::detectHomeDir)]
TRACE: Try home directory from [Readme] registry value of {64A3A4F4-B792-11D6-A78A-00B0D0180152} Java installation.
[2018/04/25 23:19:10.455, jdk-8u161-windows-i586.exe (PID: 7320, TID: 13960), FileUtils.cpp:603 (FileUtils::`anonymous-namespace'::deleteFileImpl)]
TRACE: Deleted [C:\Users\CNife\AppData\Local\Temp\jds1029609.tmp\jdk-8u161-windows-i586.exe] file
[2018/04/25 23:19:10.459, jdk-8u161-windows-i586.exe (PID: 7320, TID: 13960), FileUtils.cpp:654 (FileUtils::deleteDirectory)]
TRACE: Deleted [C:\Users\CNife\AppData\Local\Temp\jds1029609.tmp] directory
It shows that I already have a JDK8 installation which I can't find!
So everything is easy, I downloaded an offical tool of Microsoft: Fix problems that block programs from being installed or removed
In the list of uninstalled softwares, "Java 8 Update 152 (64-bit)" was found. Click "next" would remove it totally. Then I double clicked 8u172's installer, it worked!
User contributions licensed under CC BY-SA 3.0