5

Это произошло, когда я попытался обновить JDK с 8u162 до 8u172. Я обнаружил, что все установщики 8u162, 8u171 и 8u172 выходят с кодом 0xC0000005 , но это происходит только с JDK 8. JDK 10.0.1 может быть успешно установлен.

Вот анализ файла дампа 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

Я рад сообщить, что эта проблема была решена! Пожалуйста, зайдите и посмотрите мой ответ для шагов. Спасибо за вашу помощь!

2 ответа2

2

Я счастлив узнать, почему я не смог установить JDK8 на мою Windows 10.

Настоящая причина в том, что на моей Windows была сломана установка JDK8. Эта установка версии 8u152 не была полностью удалена установщиком JDK при обновлении до 8u162. Поэтому, когда я пытался обновить 8u162 до 8u172, неправильные значения реестра всегда приводили к сбою.

Я нашел реальную причину, когда попытался установить JDK через установщик Visual Studio. Не удивительно, что это не удалось с тем же кодом 0xC0000005. В отличие от установщиков JDK, установщик Visual Studio оставил подробный журнал установки. В конце журнала я нашел следующие строки:

[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

Это показывает, что у меня уже есть установка JDK8, которую я не могу найти!

Так что все просто, я скачал официальный инструмент Microsoft: исправьте проблемы, которые блокируют программы от установки или удаления

В списке удаленных программ найдено «Java 8 Update 152 (64-bit)». Нажмите "Далее", чтобы удалить его полностью. Затем я дважды щелкнул установщик 8u172, он работал!

-3

0xC0000005 указывает на ошибку Exception_Access_Violation
Это может произойти, если пользователь не имеет прав администратора в процессе
или программное обеспечение само вызывает проблемы во время установки.

Вы можете временно отключить UAC.

Эта проблема может возникать из-за функции контроля учетных записей (UAC), включенной в операционной системе Windows Vista или Windows 7.

UAC по умолчанию включен в Windows Vista и Windows 7, в результате могут возникнуть проблемы с совместимостью с различными приложениями, которые еще не были обновлены для компонента Windows UAC

Временное отключение UAC может решить проблему с доступом к исключениям, однако отключение UAC снижает безопасность вашей системы. Мы не рекомендуем оставлять UAC отключенным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .