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ì.
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.
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.
Vai all'editor del registro di sistema
-
Modifica - > Trova
Cerca Java. Otterrete le voci di registro per Java.
-
Nella voce con nome :
DisplayName
&DisplayVersion
, viene visualizzata la versione Java installata
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.
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.
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.