Comment détecter si la version 32 bits de Java est installé sur Windows x64, regardant uniquement le système de fichiers et de registre?
J'ai besoin de déterminer si un système est 32 bits de Java installée. Je suis en train de faire une requête à distance qui seule me donne accès au système de fichiers et de registre, de sorte que je ne peux pas essayer de l'exécuter java.exe ou exécuter n'importe quel code Java.
Je veux aussi m'assurer de détecter à la fois les IBM et Sun Java, ainsi que toutes les autres distributions, qui semblent mettre les choses dans des endroits différents sur le système de fichiers et du registre.
Le meilleur que j'ai trouvé est de vérifier pour C:\Windows\SysWOW64\java.exe. Est-ce un moyen fiable pour tester la présence de 32 bits de Java, ou il y a certaines versions qui ne sont pas mis java.exe dans ce dossier?
Mise à jour: je suis toujours à la recherche d'une plus forte réponse à cette question. Juste pour être clair, je n'ai pas accès à une invite de commande. Aussi, je tiens à détecter Java n'importe qui, à l'éditeur, ce numéro de version est installée, et quel que soit le chemin que l'utilisateur a choisi de l'installer sur.
C:\Windows\SysWOW64\java.exe semble correspondre à ces exigences, mais j'aimerais une confirmation de quelqu'un de plus compétent que chaque programme d'installation de Java, il sera effectivement que l'exécutable n'.
- +1 à votre question. Dans mon cas, je'working avec le programme d'installation Avancé, et j'ai BESOIN de savoir quelle est la version de Java (x86/x64) est installé, en vérifiant les registres Windows...
- Ici aussi: stackoverflow.com/a/2062263/632951
- Et comment puis-je remplacer l'exacte version actuelle dans la version 64-bit?
Vous devez vous connecter pour publier un commentaire.
Ce qui semble fournir l'info sur Windows:
1.) Ouvrez une invite de commande windows.
2.) Clé: java -XshowSettings:tous les et appuyez sur ENTRÉE.
3.) Un grand nombre d'informations seront affichées sur la fenêtre de commande. Faites défiler vers le haut jusqu'à ce que vous trouviez la chaîne: soleil.arch.les données.modèle.
4.) Si elle dit soleil.arch.les données.modèle = 32, votre VM est de 32 bits. Si elle dit soleil.arch.les données.modèle = 64, votre VM est de 64 bits.
java -XshowSettings:properties -version
est assez (-version
est pour éviter le “pas d'erreur” argument). Voir Options Non Standard de la section dans la documentation.java -version
seulement ne donne pas de cela.Avez-vous accès à l'invite de commande ?
Méthode 1 : Invite De Commande
Les spécificités de Java installée sur le système peut être déterminé par l'exécution de la commande suivante
java -version
Méthode 2 : Structure De Dossier
Dans le cas où vous n'avez pas accès à l'invite de commande puis de déterminer 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, au cours de l'installation, il est possible que l'utilisateur peut modifier le dossier d'installation.
Méthode 3 : Registre
Vous pouvez également voir la version installée dans l'éditeur du registre.
Aller à l'éditeur de registre
Edit -> Trouver
De recherche pour Java. Vous obtiendrez les entrées de registre pour Java.
Dans l'entrée avec nom :
DisplayName
&DisplayVersion
, l'installation de java version est affichéeHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\{CurrentVersion}\JavaHome
oùCurrentVersion
est la valeur d'une clé stockée dansHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\
. JRE utilise ce pour son système de propriétéjava.home
au lieu deJAVA_HOME
. Cependant, ce registre ne sera pas vous aider à déterminer c'est un 32 bits ou 64 bits, sauf que vous appliquez #method3 surJavaHome
valeur de la clé. Pour JDK, c'est le même mais en différent chemin d'accès du registreHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
D:\Program Files
ne serait pas valide 🙁 bon ok tu pouvais résoudre ce problème assez facilement, mais alors: Qui vous dit que le JRE est installé dans l'emplacement par défaut? Je pense que la solution la plus simple sans registre et tout est à utiliser l'java_home
variable d'environnement. Qui doit être réglé lors de l'installation (ou la partie de la jdk installer? aucune idée)IMAGE_FILE_HEADER
partie et surtoutMachine
là.Vérifier cette clé de 32 bits et 64 bits de Windows machines.
et ce pour Windows 64 bits avec 32 Bits JRE.
Cela fonctionne pour l'oracle-sun JRE.
Si elle n'est pas d'Oracle Java, vous ne pouvez pas être en mesure de dire. Quand j'ai installer Oracle Java 64 bits, les fichiers vont dans C:\Program Files\Java, mais quand j'essaie d'installer une version 32 bits, par défaut C:\Program Files (x86)\Java à la place. Bien sûr, la personne qui a installé Java pourrait avoir remplacé ces valeurs par défaut.
J'ai essayé à la fois 32 bits et 64 bits des installateurs de Oracle et IBM Java sur Windows, et la présence de C:\Windows\SysWOW64\java.exe semble être un moyen fiable de déterminer que la version 32 bits de Java est disponible. Je n'ai pas testé les versions plus anciennes de ces installateurs, mais cela ressemble au moins il devrait être un moyen fiable de test, pour les versions les plus récentes de Java.
il suffit d'écrire "java -d64 -version" ou d32 et si vous l'avez installé, il va donner une réponse avec la version actuellement installée