Come faccio a rilevare se Java a 32 bit è installato su Windows x64, guardando solo il filesystem e il registro?


Devo determinare se un particolare sistema ha installato Java a 32 bit. Sto facendo una query remota che mi dà solo accesso al filesystem e al registro, quindi non posso tentare di eseguire java.exe, o eseguire qualsiasi codice Java.

Voglio anche assicurarmi di rilevare sia IBM che Sun Java, così come qualsiasi altra distribuzione, che sembra mettere le cose in posti diversi sul filesystem e nel registro.

Il meglio che ho trovato è controllare C:\Windows\SysWOW64\java.exe. È un modo affidabile per testare la presenza di Java a 32 bit o ci sono alcune versioni che non metteranno java.exe in quella cartella?

Aggiornamento: Sto ancora cercando una risposta più robusta a questo. Solo per essere chiari, non ho accesso a un prompt dei comandi. Inoltre, voglio rilevare Java indipendentemente da chi sia l'editore, quale numero di versione è installato e indipendentemente dal percorso su cui l'utente ha scelto di installarlo.

C:\Windows\SysWOW64\java.exe sembra adattarsi a questi requisiti, ma mi piacerebbe avere qualche conferma da qualcuno più esperto che ogni installatore Java inserirà effettivamente quell'eseguibile lì.

Author: Chris Vasselli, 2012-01-11

5 answers

Questo sembra fornire le informazioni su Windows:

1.) Aprire un prompt dei comandi di Windows.

2.) Digitare: java-XshowSettings: all e premere INVIO.

3.) Molte informazioni verranno visualizzate nella finestra di comando. Scorri verso l'alto fino a trovare la stringa: sun.arco.dati.modello .

4.) Se dice sun.arco.dati.model = 32 , la VM è a 32 bit. Se dice sun.arco.dati.model = 64 , la VM è a 64 bit.

 27
Author: Aaron Dellutri, 2016-07-01 21:26:00

Avete accesso al prompt dei comandi ?

Metodo 1: Prompt dei comandi

Le specifiche del Java installato sul sistema possono essere determinate eseguendo il seguente comando java-versione

Metodo 2: Struttura delle cartelle

Nel caso in cui non si ha accesso al prompt dei comandi quindi determinare la cartella in cui Java.

32 bit : C:\Program Files (x86)\Java\jdk1.6.0_30

64 bit: C:\Program Files\Java\jdk1.6.0_25

Tuttavia durante l'installazione è possibile che l'utente potrebbe cambiare la cartella di installazione.

Metodo 3: Registro

È anche possibile vedere la versione installata nell'editor del registro di sistema.

  1. Vai all'editor del registro di sistema

  2. Modifica - > Trova

  3. Cerca Java. Otterrete le voci di registro per Java.

  4. Nella voce con nome : DisplayName & DisplayVersion, viene visualizzata la versione Java installata

 10
Author: Kakarot, 2015-01-14 20:27:05

Controllare questa chiave per macchine Windows a 32 bit e 64 bit.

 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

E questo per Windows 64 bit con 32 bit JRE.

 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment

Questo funzionerà per oracle-sun JRE.

 3
Author: Daniel De León, 2013-06-11 08:07:27

Se non è Java di Oracle, potresti non essere in grado di dirlo. Quando installo Oracle Java a 64 bit, i file vanno in C:\Program File \ Java, ma quando installo una versione a 32 bit, di default C:\Program File (x86)\Java invece. Naturalmente, la persona che ha installato Java potrebbe aver sovrascritto tali valori predefiniti.

 1
Author: , 2012-01-11 19:22:05

Ho provato sia i programmi di installazione a 32 bit che a 64 bit di Oracle e IBM Java su Windows e la presenza di C:\Windows\SysWOW64\java.exe sembra essere un modo affidabile per determinare che Java a 32 bit è disponibile. Non ho testato le versioni precedenti di questi installatori, ma questo almeno sembra che dovrebbe essere un modo affidabile per testare, per le versioni più recenti di Java.

 0
Author: Chris Vasselli, 2012-02-23 03:50:21