Installazione silenziosa Java JDK con percorso specificato
Voglio installare in modalità silenziosa (infatti, usando Chef) JDK nella versione specificata.
Il mio problema è che quando aggiungo il parametro INSTALLDIR, l'installazione di Java JDK fallisce. Senza di essa JDK verrà installato nella directory predefinita ( C:/Program File / Java/ o C:/Program File (x86) / Java / ).
Sto eseguendo il comando
jdk-7u79-windows-i586.exe /s INSTALLDIR="C:/java"
E anche provato
jdk-7u79-windows-i586.exe /s INSTALLDIR:"C:/java"
Ciò che rende l'installazione di Java mostra la finestra pop-up con i parametri che posso usare in MSI installer.
C:/java / il percorso è una directory esistente.
Inoltre, ho trovato questo sito: https://docs.oracle.com/javase/7/docs/webnotes/install/windows/jdk-installation-windows.html dove puoi trovare i parametri specificati per JDK.
Voglio usare Chef resource windows-package per questa installazione
windows_package node['name']['JDK1.8'] do
source node['source']['JDK1.8']
installer_type :custom
action :install
options '/s INSTALLDIR=C:/java2'
end
Cosa rende l'output
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0, 42, 127], but received '1603'
---- Begin output of start "" /wait "D:\install\jdk-7u79-windows-i586.exe" /s INSTALLDIR=C:/java & exit %%ERRORLEVEL%% ----
STDOUT:
STDERR:
---- End output of start "" /wait "D:\install\jdk-7u79-windows-i586.exe" /s INSTALLDIR=C:/java & exit %%ERRORLEVEL%% ----
Ran start "" /wait "D:\install\jdk-7u79-windows-i586.exe" /s INSTALLDIR=C:/java & exit %%ERRORLEVEL%% returned 1603
Dovrei aggiungere I non voglio installare JRE - il mio obiettivo è installare JDK.
C'è qualche modo semplice per impostare il percorso di installazione per questi programmi di installazione in modalità silenziosa?
Specifica:
- Chef 12.4.1
- Microsoft Windows 7
- Versioni di JDK che vorrei installare: 6u35, 7u79 e 8u45.
Apprezzerò qualsiasi aiuto, grazie.
1 answers
Ok, ho trovato la soluzione per questo problema.
Invece di usare qualcosa come:
options "/s INSTALLDIR=#{node['path']['jdk']}"
Ho dovuto usare qualcosa del genere:
options "/v\"/qn INSTALLDIR=\\\"#{node['path']['JDK1.7'].gsub('/','\\')}\\\"\""
In questo modo funziona sicuramente JDK 6 e 7. Ecco un esempio completo per coloro che si chiedono, come farlo:
windows_package node['name']['JDK1.7'] do
source node['source']['JDK1.7']
action :install
installer_type :custom
options "/v\"/qn INSTALLDIR=\\\"#{node['path']['JDK1.7'].gsub('/','\\')}\\\"\""
end
JDK 8 ha però un problema: l'uso di questa riga rende l'installazione di JDK corrotta:
Per JDK 8 ha funzionato bene questo parametro:
options "/s INSTALLDIR=\"#{node['path']['JDK1.8'].gsub('/','\\')}\""
Grazie per tutti i tuoi sforzi!