Мне нужно определить, установлена ли в конкретной системе 32-разрядная Java. Я делаю удаленный запрос, который дает мне доступ к файловой системе и реестру, поэтому я не могу попытаться запустить java.exe или запустить любой Java-код.
Я также хочу убедиться, что я обнаруживаю как IBM, так и Sun Java, а также любые другие дистрибутивы, которые, похоже, помещают вещи в разные места в файловую систему и в реестр.
Лучшее, что я придумал, это проверить на C:\Windows\SysWOW64\java.exe. Является ли это надежным способом проверки наличия 32-битной Java или существуют определенные версии, которые не будут помещать java.exe в эту папку?
Обновление: Я все еще ищу более надежный ответ на этот вопрос. Чтобы быть ясным, у меня нет доступа к командной строке. Кроме того, я хочу обнаружить Java независимо от того, кто является издателем, какой номер версии установлен, и независимо от того, какой путь пользователь выбрал для его установки.
C:\Windows\SysWOW64\java.exe, похоже, соответствует этим требованиям, но мне бы хотелось получить подтверждение от кого-то, более осведомленного о том, что каждый установщик Java действительно поставит этот исполняемый файл там.