Проблема с Java (несуществующая среда выполнения Java)

19

У меня сейчас проблема с игрой в Майнкрафт. Я прекрасно играл в Minecraft до того, как у меня возникли проблемы с компьютером. Теперь, когда я открываю minecraft.exeфайл (или пытаюсь открыть саму Java из меню «Пуск»), он говорит, что есть проблема с Java:

Реестр ссылается на несуществующую установку Java Runtime Environment или среда выполнения повреждена. Система не может найти указанный путь

Я переустановил Java, но, похоже, проблема в моем установщике Windows:

«Ошибка 1723. Проблема с этим пакетом установщика Windows. Не удалось запустить DLL, необходимую для завершения этой установки. Обратитесь в службу поддержки или к поставщику пакета».

Я попытался переустановить службу установки Windows, однако это говорит о том, что недостаточно места (хотя на жестком диске у меня свободно около 12 ГБ). Я не уверен, что это правильный файл, который я пытаюсь установить, но я подумал, что это стоит попробовать.

Леон
источник

Ответы:

25

Вот что я сделал на Windows 7:

Откройте редактор реестра (regedit.exe), используя учетную запись администратора.

Перейти к Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

Для каждой версии по этому пути проверьте правильность путей для переменных JavaHome и RuntimeLib. RuntimeLib должен ссылаться на существующий jvm.dllфайл, JavaHome должен быть началом этого пути с \bin\client\jvm.dllудаленной частью.

Если у вас есть несколько версий в реестре, и у вас нет соответствующей версии Java на вашем диске для одной из них, удалите лишнюю запись реестра.

Если соответствующая Java-версия находится в другом месте на вашем диске, обновите пути. Для каждой имеющейся у вас версии Java вам нужно сделать это дважды (один раз для конкретной сборки (пример 1.7.0_04) и один раз для базовой версии (пример 1.7). Моя (но будьте осторожны, я установил на кастомную версию). местоположение) являются:

  • JAVAHOME C:\java\jre
  • RuntimeLib C:\java\jre\7\bin\jvm.dll

Я получил ошибку, потому что после установки я переместил программное обеспечение в другой каталог.

Catweazle
источник
4
Мой опыт: если в реестре есть версия Java, но нет жесткого диска, вам нужно удалить для нее запись реестра.
Уильям Леара
Идеальное решение для меня.
MSX
2
Решение @ WilliamLeara сработало для меня. У меня была Java jre1.8.0_65и jre1.8.0_121в реестре, но у меня на жестком диске было только jre1.8.0_121( jre1.8.0_65также существует на моем жестком диске, но только с libфайлом внутри. Нет bin, и т. Д ...). Поэтому я удалил jre1.8.0_65из реестра, и это сработало.
Алаа М.
1
У меня была та же проблема с DocFetcher, в моем случае это была Computer\HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kitнеправильная запись, так как я обычно устанавливаю полный JDK. Не забывайте и эту папку!
Эспиноза
В некоторых случаях возникает дополнительная проблема, когда логика запуска Java выглядит специально для таких ключей, как 1.8.0_XX, в среде выполнения Java. Это не учитывает обновления с 3 или более цифрами. Если все, что вы установили, это 1.8u123, вы можете переименовать ключ во все, что соответствует шаблону (оставив содержимое, которое указывает на правильные пути). Одним из способов было бы изменить 123 на его шестнадцатеричную форму (7B), то есть 1.8.0_7B.
Застай
4

Попробуйте переименовать .exe в .jar. Люди сталкиваются с такой же проблемой, и, похоже, это решает ее.

После того, как вы попробуете это, удалите каждый экземпляр Java, который у вас есть, и переустановите пакет с веб-сайта Java. Убедитесь, что это правильная архитектура (32-64 бит). Попробуйте удалить Java с помощью утилиты очистки Windows, затем перезагрузите компьютер и переустановите.

РЕДАКТИРОВАТЬ: Давай думать об этом, когда я запускал окна, подобное случилось со мной. Попробуйте выполнить обновление до последней версии установщика Windows. Если вы уже не позднее, попробуйте переустановить.

n0pe
источник
Я чувствую, что проблема может быть глубже с Java, поскольку файлы .jar даже больше не связаны с Java (он не знает, с чем их открывать). Есть идеи?
Леон
Я только что отредактировал свой ответ, попробуйте это. Если нет, мы продолжим искать.
n0pe
Попытка установить Redist установщика Windows приводит к ошибке «Недостаточно памяти для обработки этой команды». Что касается удаления Java с помощью Windows Cleanup Utility, удаление сработало, и я пытаюсь переустановить Java сейчас (только в том месте, где обычно возникают ошибки - посмотрим).
Леон
Хорошо, будем надеяться, что вы не столкнетесь с ошибками
n0pe
К сожалению, при попытке установить Java, он думает, что он уже установлен. Я нажимаю кнопку переустановить, но затем появляется сообщение «Это действие действительно только для продуктов, которые в настоящее время установлены». Это действительно просто бьет себя по лицу. Есть идеи? (Просто перезапустил - все еще есть та же проблема)
Леон
1

Моя рабочая станция - Win 7 64 bit.

Решением для меня было изменить все ссылки на

C:\Program Files\Java\...

в

C:\Program Files (x86)\Java\...

в пути реестра

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\

Мой фактический установленный путь и записи реестра не совпадают.

Morph Seven
источник