Как предотвратить установку java.exe в Windows32? - программирование
Подтвердить что ты не робот

Как предотвратить установку java.exe в Windows32?

Есть ли способ предотвратить, что процедура установки Java (например, jdk-7u1-windows-i586.exe) копирует java.exe в каталог C:\Windows\system32?

Мне нужно установить мое программное обеспечение на клиентский ноутбук, и я не хочу разорвать другие приложения Java, которые уже установлены на компьютере. Другими словами, я хочу установить закрытый JRE, который используется только моим программным обеспечением.

К настоящему времени я скопировал уже установленную JRE с моего компьютера на клиентскую машину.

4b9b3361

Ответ 1

Вчера я обнаружил, что существует проблема с версиями Java в Windows, так как вы знаете, что обновление java в актуальном состоянии в наши дни имеет решающее значение, особенно JRE, используемое Internet Explorer, расположенным в системе Windows32 или syswow64.

Вы можете выполнить поиск java на своем диске C: и посмотреть на различные исполняемые файлы, которые он находит, чтобы определить, применима ли ситуация к конкретной системе.

После ряда исследований я обнаружил, что при запуске Java updater он обновляет только файлы, установленные в доме JAVA, обычно находящиеся в файлах программы, но не обновляет файлы, расположенные в системной папке Windows. В результате, и поскольку системная папка находится в системе PATH по умолчанию, использование Internet Explorer продолжает использовать старую версию файлов JAVA (java.exe, javaw.exe, javaws.exe)

решение - удалить java с помощью функции удаления программной панели, загрузить последнюю версию и снова установить.

Ура! Фернандо

Ответ 2

Недавно я обновился до java 8 и обнаружил эту проблему, так как java-версия под system32 по-прежнему была java 7. Она останавливает даже запущенную версию, поскольку она жалуется на ключи реестра

U:\>java -version
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.8', but '1.7' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

Далее я указал на виновника:

U:\>where java
C:\Windows\System32\java.exe
C:\Program Files\Java\jdk1.8.0_45\bin\java.exe

Я решил эту проблему, просто удалив java под system32! Я не уверен, какие последствия это будет иметь.

Ответ 3

Вы можете просто предоставить JRE, который хотите использовать на своем программном обеспечении, и:

  • Задайте переменную JAVA_HOME перед запуском приложения
  • Укажите правильный файл java.exe(например, ..\jre1.5.0_22\bin\java <your_java_main>)

Это может быть сделано в файле *.bat, например.

После запуска созданного *.bat файла вся другая версия java будет проигнорирована, и не имеет значения, какие версии будут или будут установлены на этом компьютере.

Ответ 4

Один из способов попытаться создать пустой файл с записью с именем java.exe в папку System32.

Ответ 5

Я обнаружил, что новый JDK по-прежнему не пишет правильный код для реестра. Проблема в том, что на компьютере нет JRE, JDK не регистрирует JRE в реестре правильно.

Для тех, кто устанавливает JDK 1.7u72 Просто добавьте Software\JavaSoft\Java Runtime Environment, как указано в сообщении об ошибке. И добавьте строковую запись CurrentVersion со значением 1.7. Затем добавьте Software\JavaSoft\Java Runtime Environment\1.7 и поместите строку строки JavaHome со значением "C:\Program Files\Java\jre7". И JRE будет функционировать правильно. Поражайте Oracle, если вы используете реестр, тогда напишите правильный код, иначе не используйте Registry!

Ответ 6

Все, что вам нужно сделать, это перейти в Панель управления → Программы. Удалить программу. Удалите старые обновления java и сохраните новейшие обновления для java и обновления для разработки java. Новое обновление java-обновления и обновления для Java-версии должно иметь одинаковый номер.