WSUS Package Publisher : Déployer les mises à jour Java
I. Présentation
Après avoir vu l'installation de WSUS Package Publisher (WPP) et le déploiement des mises à jour Flash Player, on va s'intéresser à un autre logiciel très souvent mis à jour, et dont le principe d'intégration au sein de WSUS Package Publisher est différent que Flash Player.
Ceci est notamment dû au fait que depuis les dernières versions de Java, le fichier d'installation MSI n'est plus fourni et il faut maintenant se débrouiller avec le fichier d'installation au format EXE - Merci Oracle.
Nous allons voir comment déployer les mises à jour Java avec WSUS Package Publisher, avec la version Java 8 Update 101 qui est la dernière sortie à l'heure où j'écris ces lignes.
II. Télécharger Java
On va se rendre sur le site de téléchargement Java et prendre le programme d'installation en mode hors connexion, ce qui permet d'avoir un programme d'installation complet de Java qui n'ira pas télécharger les données sur internet lors de l'installation.
Pour télécharger Java : Java hors ligne
Prenez la version 32 bits ou 64 bits selon vos besoins, un téléchargement d'une cinquantaine de Mo vous attend. Stockez ensuite cet EXE bien au chaud au sein de votre bibliothèque de mise à jour, par exemple :
Passons maintenant à la création de la mise à jour.
III. Créer une nouvelle mise à jour
Ouvrez WSUS Package Publisher et créez une nouvelle mise à jour :
Indiquez le chemin vers le fichier EXE de Java et continuez :
Ensuite, il va falloir remplir les champs éditeurs, nom du produit, etc... Car comme ce n'est pas un MSI, WPP n'est pas capable d'extraire ces informations du package d'installation, contrairement au MSI qui est conçu pour justement fournir des informations.
Indiquez également "0" comme code de retour pour le résultat "Succès".
Dans le champ "Ligne de commande", indiquez ceci :
AUTO_UPDATE=Disable INSTALL_SILENT=Enable REBOOT=Disable REMOVEOUTOFDATEJRES=1
Ces options permettent dans l'ordre de désactiver la mise à jour automatique de Java (ce qui évitera l'icône dans la barre des tâches qu'il y a une mise à jour, et ne pas polluer l'utilisateur), d'activer l'installation silencieuse, de ne pas redémarrer et de désinstaller les anciennes versions de Java sur la machine pour laisser seulement la dernière.
Voilà pour les caractéristiques de notre paquet.
Maintenant il va falloir ajouter une règle au niveau du package (via "Editer ce groupe") qui va permettre de vérifier si cette version de Java est déjà installée ou non sur la machine. Pour cela, on va regarder si un logiciel sur la machine avec le Product Code correspondant à cette version de Java est déjà installé ou pas.
On crée donc une règle "Produit Msi Installé" avec les valeurs suivantes :
Voici les Product Code de Java 8 Update 101 (uniquement cette version) :
- 32 Bits : 26a24ae4-039d-4ca4-87b4-2f32180101f0
- 64 Bits : 26a24ae4-039d-4ca4-87b4-2f64180101f0
Vous obtiendrez ceci :
Note : Les product code des versions de Java sont toujours construits de la même manière et contiennent le numéro de la version, j'ai mis en gras dans les numéros précédemment donnés les valeurs correspondantes à la version Java 8 Update 101.
Poursuivez et pour la règle qui permet de savoir s'il est installable, on va dire : Il est installable s'il n'est pas installé. On va réaliser cela en faisant la même règle qu'à l'étape précédente, mais en l'inversant grâce à l'option prévue à cet effet. On gardera le même product code et le même type de règle, mais on va inverser la condition :
Vous obtenez ceci :
En gros, la première règle permet de savoir s'il est installé ou non, et avec la seconde on lui dit qu'il est installable s'il n'est pas installé. De nombreuses autres règles peuvent être créées, par exemple, pour ceux qui déploient la version 64 bits on peut ajouter une deuxième règle pour dire que la mise à jour est installable si le PC est 64 bits.
Il ne reste plus qu'à continuer et patienter pendant la génération du package d'installation :
La dernière étape consiste à approuver la mise à jour sur nos groupes d'attribution, comme nous l'avions fait dans le tutoriel sur la mise à jour Flash Player :
Voilà, je vous laisse le plaisir de tester le bon fonctionnement sur un poste client maintenant 😉
Note : J'ai rencontré un cas de figure assez surprenant chez un client, où je n'arrivais pas à déployer la mise à jour Java via WSUS Package Publisher sur certains postes, dans le cas où ceux-ci avaient un Java mis à jour précédemment par GPO. Étrange comportement.
Super ces articles!! Je viens de monter grâce a tes guides mon premier serveur wsus avec WPP! Ceci dit, comment gères-tu les architectures x86 et x64 avec Java? Un éclaircissement serait le bienvenue.
De plus un tuto sur comment configurer un serveur wsus en https serait apprécier.
Bonsoir Patrick,
Pour la gestion des architectures X86 et X64, il y a directement un filtre dans la liste des conditions qui permet de vérifier le processeur si c’est un X86 ou X64 (ou alors en se basant sur l’OS, c’est au choix), on peut alors créer un paquet pour chaque version de Java en ciblant la bonne architecture à chaque fois.
Florian
Super tuto. Seul petit bemol c’est que dans le cas présenté la mise à jour java va s’installer sur tous les postes ou cette version de java n’est pas présente. Or sur mon parc certaines n’ont pas java et je ne souhaite pas qu’il s’installe. Comment peut on gérer ce problème a ton avis ?
Salut Cédric,
C’est une question intéressante. A ma connaissance, il n’est pas possible de gérer une exclusion de certains postes dans la version actuelle de WPP. A moins de créer un groupe d’attribution WSUS différents pour stocker ces postes là et ne pas approuver la mise à jour JAVA pour ces postes là… Mais c’est pas top. Sinon en ajoutant dans le filtre du package une requête WMI sur le hostname pour ne pas sélectionner ceux qui ne doivent pas avoir la mise à jour Java, s’il y a beaucoup de PC concerné ça va devenir ingérable… Si tu trouves une solution, je suis preneur. Il y a un éditeur avancé pour créer un package de mises à jour peut-être qu’il permet ça ? 🙂
Florian
Merci pour cette réponse florian.
Je viens de faire un test qui n’a pas été totalement fructueux. En effet j’ai ajouté dans les conditions à tester pour que la mise à jour soit installable une « RegKeyExists » Javasoft à l’emplacement Software\Wow6432node
En effet je me suis dit que si java etait installé cette clé devait etre présente et dans le cas contraire la mise à jour ne s’installe pas.
Seul problème certains n’ayant plus java mais l’ayant eu un jour, cette clé est présente dans le registre.
Il faudrait que j’arrive à trouver une clé de registre présente uniquement si le soft est installé.
Qu’en penses tu ? est ce totalement idiot ?
Super, un grand merci pour ces tutoriels, c’est très intéressant et utile.
Grâce à ça, j’ai pu mettre en place WPP.
Est-ce que d’autres articles sur le sujet sont prévus ?
Comme déployer Adobe Reader DC ?
Merci par avance.
Bonjour,
Pour Adobe Reader DC, c’est très simple car Adobe fournit les fichiers MSI pour les versions majeures et les fichiers MSP pour les mises à jour mineures régulières, ces fichiers contiennent déjà toutes les règles d’installation, il n’y a pas de règle particulière à créer lors de la création de la màj dans WPP.
Je vais surement faire un tutoriel sur le déploiement des mises à jour Firefox, je pense que ça peut intéresser du monde 🙂
Florian
Pour reader DC ou flash vous avez aussi la possibilité d’ajouter des abonnements aux catalogues de mises à jour ce qui permet d’être alerté des mises à jours et de les télécharger et les packager sans avoir rien à faire.
Aucune règles à créer non plus c’est géré par le package
Bonjour,
Parfait, merci pour votre retour et ces informations.
Effectivement, un tutoriel pour déployer Mozilla Firefox sera sans doute très intéressant.
Savez-vous si il est possible de déployer Ccleaner via WPP ?
Si oui, y-a-t-il une méthode particulière ?
Merci par avance.
Merci pour ta réponse Florian. En fait mon souhait est d’installer Java ou sa mise à jour uniquement aux postes sur lesquels il est déjà installé. Dans j’ai créé une règle supplémentaire pour tester si l’application est installable. J’ai rajouté une « RegKeyExists » Software\Wow6432node\Javasoft qui, je le pensais, permettait de savoir si le soft est présent sur le poste. Mais il y 2 problèmes pour cela, d’abord j’ai remarqué que si java a déja été installé puis supprimé sur le poste la clé de registre n’est visiblement pas supprimée. Ensuite j’ai des postes en 32 et 64 bits dans mon parc. Pour les postes 32 bits c’est facile puisqu’il ne peuvent installer que la version 32 de java mais sur les postes 64 bits certains ont une version de java en 32 bits ce qui change l’emplacement de la clé dans le registre. Enfin bref il n’y a pas de solution facile.
Concernant le deploiement de reader DC et flash on peut aussi gérer cela à travers les abonnements aux catalogues. Ce qui est assez pratique puisqu’à l’ouverture de WPP il nous est indiqué qu’une mise à jour est dispo. Il ne reste qu’a la télécharger et la publier sans aucune règle à créer.
Bonjour,
Merci pour ce tutoriel.
Pouvez-vous me dire pourquoi j’ai cette erreur SVP pendant l’installation sur un poste client :
Java 8 Update 101 – 64 Bits – Erreur 0x80070643
Merci
Bonjour,
Merci pour ce tuto! Contrôler toute la chaine de mises à jour c’est vraiment pas mal!
Petite question: comment conserver les paramètres de sécurité sans que la mise à jour écrase tout?
Merci.
Alexei
Juste merci… 🙂
Mise en place sans difficulté et Super bien détaillés.
PS : un de vos articles est apparu dans mon sujet de BTS SIO l’année dernière (2016)
Bonjour ,
Merci pour le tuto mis en place sans pb.
Sur 5 pc en test seul 1 a installé la mise à jour correctement.
Sur les autres j’ai le code erreur -2146762487 Erreur : Echec du téléchargement
Une petite idée de l’origine du Pb ?
Bonjour,
Après des heures de surf, je partage avec vous la résolution à mon problème : les anciennes versions de Java (8) ne se désinstallaient pas. Il faut ajouter en paramètre : REMOVEOLDERJRES=1
Résumé :
AVANT :
AUTO_UPDATE=Disable INSTALL_SILENT=Enable REBOOT=Disable REMOVEOUTOFDATEJRES=1
APRES :
AUTO_UPDATE=Disable INSTALL_SILENT=Enable REBOOT=Disable REMOVEOUTOFDATEJRES=1 REMOVEOLDERJRES=1
En espérant avoir aidé d’autres personnes dans mon cas.
Bjr J’ ai l’ erreur suivant pendant le creation d’ un publication erreur:
Echec de signature du packages erreue 2147954407
Bonjour ,
Merci pour le tuto mis en place sans pb.
J’ ai l’ erreur suivant pendant le creation d’ un package et publication :
Echec de signature du packages erreue: 2147954407
Si quelqu’ un a une solution pour moi
Merci d’ avance.