Installation silencieuse de JDK 8 et JRE 8 sur une machine Windows via une ligne de commande
Nous voulons mettre à jour le JDK environnement sur plusieurs machines, le tout fonctionnant sous windows, mais les différentes versions (XP ou 7)
Pour cela, je suis en train de créer un script qui s'exécute automatiquement le programme d'installation approprié (32/64 bits).
J'ai essayé de lancer le programme d'installation avec la commande suivante:
jdk-8u25-windows-x64.exe /s ADDLOCAL="ToolsFeature,SourceFeature,PublicjreFeature"
Cela fonctionne très bien sur une machine sans JDK/JRE 8 est installé. Cependant, je suis en cours d'exécution dans un certain nombre de questions:
- Si le JDK/JRE 8 est déjà installé, le programme d'installation DÉSINSTALLE les deux JDK & JRE au lieu de tout simplement ne rien faire (ou de ré-installation)
- Si un redémarrage est requis, il est de force effectuée automatiquement, et j'ai besoin pour éviter que, comme il y a d'autres actions que je dois réaliser dans le script après l'installation est terminée.
- Il n'y a pas de mode VERBOSE /fichier journal pour indiquer que le programme d'installation est en train de faire
J'ai regardé ces sources:
- Installation du JDK pour Microsoft Windows - Installation du JDK Silencieusement
- Windows JRE Options de l'Installateur - Installation de Ligne de Commande
mais ils semblent dépourvues et très confus quant à ce qui va me donner le résultat voulu.
source d'informationauteur dagandlerx
Vous devez vous connecter pour publier un commentaire.
Je voudrais aborder JDK et JRE séparément:
La JDK ne dépend pas des entrées de registre, quel que soit le programme d'installation exe. Afin d'installer le JDK - sans Public JRE - sur un la machine à l'aide
Alors vous pouvez simplement zip à l'installation, copier et décompressez-le à d'autres machines du même type de système d'exploitation.
La JRE installer (téléchargement séparé à partir d'Oracle) peut être exécuté avec des options et le fichier de configuration, comme indiqué ici : http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html
En supposant que la config est dans le même répertoire que le programme d'installation exe, l'option
INSTALLCFG="%cd%\jre-install-options.cfg"
peut être utilisé. Sinon, un chemin d'accès complet au fichier de config (INSTALLCFG="c:\path\to\jre-install-options.cfg"). Donc, quelque chose comme ceci (avec le fichier journal et en supposant que le fichier de config est dans le même répertoire que l'exe):Il semble que les suivantes jre-install-options.txt pourrait fonctionner pour vous:
Les options du fichier de configuration sont répertoriés ici: http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html
Le sens de la dernière ligne est expliqué ici : http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html#static_installation
J'ai été confronté problème similaire avec l'option /s. J'ai trouvé un jdk bug https://bugs.openjdk.java.net/browse/JDK-8033364. Je semble qu'ils ont supprimé le support pour obtenir de l'aide ou s. Essayer /qn il a travaillé pour moi
jdk-8u92-windows-x64.exe /qn
Pour JRE installation silencieuse :
start /wait msiexec /i "%~ java8.40x64.msi " JU=0 JAVAUPDATE=0 AUTOUPDATECHECK=0 RebootYesNo=No WEB_JAVA=1 /q
Vous pouvez voir plein de post ici.
Il semble qu'il y a des changements constants dans les options de ligne de commande. Pour la dernière 8 mise à Jour 131, j'ai dû abandonner tous msiexec options de style, car aucun d'entre eux travaillaient. J'ai utilisé la documentation de la version de java que j'ai téléchargé pour construire des commutateurs à l'installateur. Comme indiqué dans les réponses ci-dessus, les options du fichier de configuration peut être transmis à l'installateur sur la ligne de commande. La dernière commande que j'ai utilisé dans Packer pour installer Java sur un Win2016 ami de Serveur est:
Cette commande ajoute également de Java pour le système de chemin d'accès par défaut, mais pas dans celui qu'il installe. Ouvrez un nouveau powershell, shell et il sera dans le chemin d'accès pour que shell (Inspection avec
$env.path
)Sources de la vérité:
http://docs.oracle.com/javase/8/docs/technotes/guides/install/windows_installer_options.html
http://docs.oracle.com/javase/8/docs/technotes/guides/install/config.html#table_config_file_options