web-dev-qa-db-fra.com

Comment détecter si 32 bits Java est installé sur Windows x64, uniquement en regardant le système de fichiers et le registre?

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.

21
Chris Vasselli

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.

0
Chris Vasselli

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.

39
Aaron Dellutri

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.

  1. Accédez à l'éditeur de registre

  2. Modifier -> Rechercher

  3. Recherchez Java. Vous obtiendrez les entrées de registre pour Java.

  4. Dans l'entrée avec le nom: DisplayName & DisplayVersion, la version installée Java version est affichée

11
Kakarot

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.

3
Daniel De León

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).

1
user785262