Как определить, установлена ​​ли 32-битная Java в x64 Windows, глядя только на файловую систему и реестр?

Мне нужно определить, установлена ​​ли в конкретной системе 32-битная Java. Я выполняю удаленный запрос, который дает мне доступ только к файловой системе и реестру, поэтому я не могу попытаться запустить java.exe или любой код Java.

Я также хочу убедиться, что обнаруживаю и IBM, и Sun Java, а также любые другие дистрибутивы, которые, кажется, помещают вещи в разные места в файловой системе и в реестре.

Лучшее, что я придумал, - это проверить наличие C: \ Windows \ SysWOW64 \ java.exe. Это надежный способ проверить наличие 32-разрядной версии Java, или существуют определенные версии, которые не помещают java.exe в эту папку?

Обновление: Я все еще ищу более надежную ответ на это. Чтобы было ясно, у меня нет доступа к командной строке. Кроме того, я хочу обнаруживать Java независимо от того, кто издатель, какой номер версии установлен, и независимо от того, какой путь выбрал пользователь для ее установки.

C: \ Windows \ SysWOW64 \ java.exe, похоже, соответствует этим требованиям, но мне бы хотелось получить подтверждение от кого-нибудь более знающего, что каждый установщик Java действительно помещает туда этот исполняемый файл.

21
задан Chris Vasselli 17 January 2012 в 17:32
поделиться