J'ai besoin de déterminer si un système particulier a 32 bits Java installé. Je fais une requête à distance qui ne me donne accès qu'au système de fichiers et au registre, donc je ne peux pas essayer d'exécuter Java. exe, ou exécutez n'importe quel code Java.
Je veux également m'assurer de détecter à la fois IBM et Sun Java, ainsi que toutes les autres distributions, qui semblent mettre les choses à différents endroits sur le système de fichiers et dans le registre.
Le mieux que j'ai trouvé est de vérifier C:\Windows\SysWOW64\Java.exe. Est-ce un moyen fiable de tester la présence de Java 32 bits, ou y a-t-il certaines versions qui ne placeront pas Java.exe dans ce dossier?
pdate: Je suis toujours à la recherche d'une réponse plus robuste à cela. Juste pour être clair, je n'ai pas accès à une invite de commande. De plus, je veux détecter Java quel que soit l'éditeur, quel numéro de version est installé et quel que soit le chemin choisi par l'utilisateur pour l'installer.
C:\Windows\SysWOW64\Java.exe semble répondre à ces exigences, mais j'aimerais une confirmation de la part de quelqu'un plus compétent que chaque programme d'installation Java mettra en effet cet exécutable là-bas.
J'ai essayé les programmes d'installation 32 bits et 64 bits d'Oracle et d'IBM Java sous Windows, et la présence de C:\Windows\SysWOW64\Java.exe semble être un moyen fiable pour déterminer que 32 bits Java est disponible. Je n'ai pas testé les anciennes versions de ces programmes d'installation, mais cela semble au moins être un moyen fiable de tester, pour les versions les plus récentes de Java.
Cela semble fournir les informations sur Windows:
1.) Ouvrez une invite de commande Windows.
2.) Saisissez: Java -XshowSettings: all et appuyez sur ENTREE.
3.) De nombreuses informations seront affichées dans la fenêtre de commande. Faites défiler vers le haut jusqu'à ce que vous trouviez la chaîne: Sun.Arch.data.model.
4.) Si elle dit Sun.Arch.data.model = 32, votre VM est 32 bits. Si elle dit Sun.Arch.data .model = 64, votre VM est 64 bits.
Avez-vous accès à l'invite de commande?
Méthode 1: invite de commande
Les spécificités de Java installé sur le système peuvent être déterminées en exécutant la commande suivante Java -version
Méthode 2: Structure des dossiers
Si vous n'avez pas accès à l'invite de commande, déterminez ensuite le dossier dans lequel Java.
32 bits: C:\Program Files (x86)\Java\jdk1.6.0_30
64 bits: C:\Program Files\Java\jdk1.6.0_25
Cependant, pendant l'installation, il est possible que l'utilisateur modifie le dossier d'installation.
Méthode 3: Registre
Vous pouvez également voir la version installée dans l'éditeur de registre.
Accédez à l'éditeur de registre
Modifier -> Rechercher
Recherchez Java. Vous obtiendrez les entrées de registre pour Java.
Dans l'entrée avec le nom: DisplayName
& DisplayVersion
, la version installée Java version est affichée
Vérifiez cette clé pour les machines Windows 32 bits et 64 bits.
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
et cela pour Windows 64 bits avec 32 Bits JRE.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment
Cela fonctionnera pour Oracle-Sun JRE.
Si ce n'est pas Java d'Oracle, vous ne pourrez peut-être pas le dire. Lorsque j'installe Oracle Java 64 bits, les fichiers vont dans C:\Program Files\Java, mais lorsque j'installe une version 32 bits, ils sont par défaut C:\Program Files (x86 )\Java à la place. Bien sûr, la personne qui a installé Java aurait pu remplacer ces valeurs par défaut).