#java #windows #service #installshield
#java #Windows #Обслуживание #installshield
Вопрос:
Мне нужно ссылаться java.exe в пути к служебной корзине. Чтобы найти java.exe Я делаю два шага:
-
прочитайте версию Java: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ JavaSoft Java Runtime Environment (CurrentVersion)
-
прочитайте: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ JavaSoft Java Runtime Environment (JavaHome)
тогда я получаю путь, подобный этому: C:Program FilesJavajre1.8.0_201
Проблема в том, что если я обновлю Java, то этот путь больше не существует.
Я обнаружил, что java.exe здесь также присутствует: C:ProgramDataOracleJavajavapathjava.exe
НО: файла здесь нет ни в коем случае / ни в какой системе, но я не знаю почему.
У кого-нибудь есть идея, как обойти эту проблему?
Комментарии:
1. Просто есть файл конфигурации, в котором вы настраиваете текущий путь java. Попытка найти путь в самой службе рано или поздно вас укусит, потому что только потому, что она нашла путь java, это не значит, что она должна его использовать. Если у вас установлено более одной версии, какую из них следует использовать?
2. Всякий раз, когда возникает зависимость такого типа, я буду устанавливать ячейки Java в локальный каталог установки и использовать их. Зависимость от версии является постоянной проблемой с Java.