Ответ 1
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
Я попытался найти ответ, но все, что я нашел, это советы о том, как обнаружить Java из браузера или очень общий способ только запускать Java и посмотреть, запускается ли она, что приводит к возможной длительной задержке в моем приложении. (~ две секунды, когда вы начали в первый раз на моей машине)
Я надеюсь, что существует более быстрый способ, если применяются следующие ограничения:
Это обнаружение не предназначено для публичного приложения, а для внутреннего использования только на платформах Windows.
Есть ли путь к реестру, который я могу прочитать, или какой-либо файл конфигурации, который я могу проанализировать?
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
Windows > Пуск > cmd >
C:> for %i in (java.exe) do @echo. %~$PATH:i
Если у вас установлен JRE, отображается Путь,
например: C:\Windows\System32\java.exe
Реестр, вероятно, будет самым простым путем - при условии, что был запущен установщик. Установленные версии можно найти в различных подразделах под:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
Если пользователь настроил свою среду вручную, вы можете проверить JAVA_HOME
/перейти к переменной PATH
и проверить версию файла. Демо WSH script:
'file: whereJava.vbs
'usage: cscript /Nologo whereJava.vbs
'find Java 6 from registry
Set objShell = CreateObject("WScript.Shell")
Wscript.Echo objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\" &_
"JavaSoft\Java Runtime Environment\1.6\JavaHome")
'check file version of java.exe
javaHome = objShell.Environment.item("JAVA_HOME")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Wscript.Echo objFSO.GetFileVersion(javaHome & "\bin\java.exe")
Смотрите GetFileVersionInfo и компанию. Основные номера версий, похоже, соответствуют версии Java (5, 6). Там вы можете сделать конечную сумму без вызова JVM.
Вместо этого вы можете попробовать запустить команду "java -version" в командной строке.
Это может не сработать, если JRE неправильно установлен, но скопирован с какой-либо другой машины. Обходной путь Sure shot заключается в том, чтобы перейти к каталогу установки JRE " C:\Program Files\Java\", перейдите в папку bin из командной строки, а затем запустите " java -version". Результатом будет версия для установки и вся необходимая информация, которую вы ищете.
На компьютере с Windows может быть любое количество установленных JRE и JDK, но только один из них будет иметь установленную среду выполнения HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java.
Вы также можете рассмотреть переменные окружения "JAVA_HOME" и "Path", поскольку они будут влиять на вызовы java командной строки.