Necesito determinar si un sistema en particular tiene Java de 32 bits instalado. Estoy haciendo una consulta remota que solo me da acceso al sistema de archivos y al registro, por lo que no puedo intentar ejecutar java.exe ni ejecutar ningún código Java.¿Cómo puedo detectar si Java de 32 bits está instalado en Windows x64, solo mirando el sistema de archivos y el registro?
También quiero asegurarme de detectar tanto IBM como Sun Java, así como cualquier otra distribución, que parezca poner cosas en diferentes lugares en el sistema de archivos y en el registro.
Lo mejor que he encontrado es buscar C: \ Windows \ SysWOW64 \ java.exe. ¿Es esta una manera confiable de probar la presencia de Java de 32 bits, o hay ciertas versiones que no pondrán java.exe en esa carpeta?
Actualización: Todavía estoy buscando una respuesta más robusta a esto. Para que quede claro, no tengo acceso a un símbolo del sistema. Además, deseo detectar Java sin importar quién es el editor, qué número de versión está instalado y sin importar en qué camino el usuario optó por instalarlo.
C: \ Windows \ SysWOW64 \ java.exe parece ajustarse a estos requisitos, pero me encantaría la confirmación de alguien con más conocimiento de que cada instalador de Java pondrá ese ejecutable allí.
+1 a su pregunta. En mi caso, estoy trabajando con Advanced Installer y NECESITO saber qué versión de Java (x86/x64) está instalada, verificando los registros de Windows ... – mthama
Aquí también: https://stackoverflow.com/a/ 2062263/632951 – Pacerier