Goutiplet un serveur de mise a jour automatique

Taconitanie : le nouveau parc retro à Toulouse
16 mai 2019
darkness
L’homme qui ne savait pas qu’il était un goutiplet.
17 mai 2019

GOUTIPLET

Mise en place d’un serveur  goutiplet permettant

d’automatiser des installations  et des

mises à jours à distance.

 

 

A quoi sert goutiplet ?

 

Description

Fonctionnalités générales:

goutiplet est un logiciel permettant le déploiement, l’installation, la mise à jour et la suppression automatisée de paquetages logiciels pour Windows.

Il peut être utilisé pour pousser/tirer des paquetages logiciels tels que des Services Packs,

des hotfixs, ou des programmes d’installation depuis un serveur central (par exemple Samba ou Active Directory),

vers les postes clients.

Il peut être lancé en tant que “service” Windows, afin d’installer des logiciels en tâche de fond, sans interaction avec l’utilisateur.

GOUTIPLET peut installer des paquetages de types MSI, Installshield, Packagesfortheweb, script, batch, etc, ainsi que tout autre programme en mode silence.

Les commutateurs d’installation en mode silence de certaines applications sont disponibles depuis

 

Autres fonctionnalités:

  • Gestion de profil d’installation, de mise à jour et de suppression d’application de postes définis au travers d’une interface web goutiplet.
  • Gestion par script de tâches de maintenance s’appuyant sur les tools Kit Microsoft et sysinternal. Exemple: maintenance de profils redirigés d’utilisateurs (delprof, defrag, etc..).
  • Gestion du déploiement d’imprimantes par script utilisant printmig.
  • Installation de correctifs.
  • Exécution de scripts.

💡 A savoir 💡  : GOUTIPLET peut être sur serveur linux (Samba) ou Windows (Active Directory).

Contexte d’utilisation dans mon laboratoire/service:

goutiplet est utilisé dans notre cas afin de déployer un certain nombre d’applications sur les postes utilisateurs,

après que ceux-ci aient été clonés au moyen d’images systèmes réalisées avec “ghost”.

Cette méthode permet :

  • de centraliser les opérations d’installation et de maintenance,
  • de rendre homogène la configuration logicielle des plateformes,
  • un gain de temps à l’installation ou à la restauration d’un poste de travail,
  • de faciliter l’application des correctifs windows.

 

🔺Conclusion🔺:

GOUTIPLET est un moyen de déployer des logiciels rapidement,silencieusement ainsi que automatiquement, surtout  sans gêner l’utilisateur dans son travail.

 

 

🔺Mise en place de GOUTIPLET avec Windows Serveur🔺

 

Téléchargement  ➡ acheter le CD ou télécharger un iso.

Installation➡http://www.supinfo.com/articles/single/4715-presentation-installation-windows-server-2016

Création de groupe et domaine active directory➡ https://www.windows8facile.fr/ws2016-creer-domaine-active-directory-dns-dhcp/

Création de stratégie de groupe ➡ https://www.windows8facile.fr/ws2016-creer-domaine-active-directory-dns-dhcp/

Tout d’abord crée le dossier goutiplet à la racine du server

Sur ce dossier il faut faire clic-droit  puis propriété puis suivre les étapes ci dessous.

Allez dans les propriétés:

partage avancée

Puis dans sécurité ↓

securité utilisateur

🔼Dézipper l’archive dans le dossier que l’on vient de créer. (pour moi goutiplet).🔼

zip du fichier

Créer un dossier “graphics” il servira dans la suite.

Le dossier devrait ressembler à cela. ↑

 

Pour résumer les fonctionnalités de ces fichiers :

Hosts.xml : nom des hôtes qui utiliseront GOUTIPLET.

Profiles.xml : profils utilisés et disponibles par les hôtes.

Packages.xml : applications et scripts qui vont être déployés/exécutés sur les postes de travail.

Goutiplet.js : moteur de GOUTIPLET, c’est ce script qui lit les fichiers XML et installe les applications.

 

Sur le PC ou l’on veut installer les logiciels

Configuration du client :

configuration goutiplet

File path: écrire ↓:

\\le nom du serveur ou l’adresse ip\goutiplet(le dossier partagé crée)\goutiplet.js

Cocher la case “Use computer account and password”

puis save (sauvegarde les paramètres)

Maintenant “Test settings”

Fonctionement

Tout fonctionne 👌.

 

Nous allons tester avec 7zip:

Personnellement j’ai eu beaucoup de problème pour faire fonctionner correctement l’installation,

je vais vous faire une version simplifiée pour en  éviter un maximum.

Modifier les .xml qui sont dans les répertoires partagés

Je conseille de télécharger notepad ++ pour modifier les documents, pour un confort visuel,

mais cela fonctionne très bien avec bloc note.

 

➜host.xml

hxml goutiplet

Tout en bas, au dessus de la balise “</hosts:goutiplet> ” écrire la commande si-dessus en prenant la même syntaxe que celle encadré.

Cela va indiquer à GOUTIPLET que l’ordinateur « PC2 » va utiliser le profil “test” (il est possible d’assigner plusieurs profils à un même hôte)

➜profile.xml

Ensuite il faut éditer le fichier profiles.xml, il faut donc créer un profil nommé « test »

xml goutiplet

L’hôte est donc attaché à ce profil « test », et ce profil contient un paquet nommé « 7zip ».

➜Package

bien que…
il y a aussi…
il est vrai que…mais
tout en reconnaissant que…on peut supposer que

🔼Le fichier package est le plus complexe🔼

téléchargement : http://www.7-zip.org/

J’ai pris le senven zip.exe en version 16.04

🔺Après avoir télécharger le goutiplet .exe de 7zip le glisser dans le dossier graphics crée au préalable🔺

 

Copier la fin du package.xml , le xml de 7zip de la version 16.4  en msi, nous le changerons à la main par la suite.

<package
id=’7zip’
name=’7-Zip’
revision=”%version%”
reboot=”false”
priority=”1″><variable name=”version” value=”16.04″ />
<variable name=”filever” value=”1604″ /><check type=”uninstall” condition=”exists” path=”7-Zip %version%” architecture=”x86″ />
<check type=”uninstall” condition=”exists” path=”7-Zip %version% (x64 edition)” architecture=”x64″ /><install cmd=’msiexec /qn /norestart /i %SOFTWARE%\7zip\7z%filever%.msi’ architecture=”x86″ />
<install cmd=’msiexec /qn /norestart /i %SOFTWARE%\7zip\7z%filever%-x64.msi’ architecture=”x64″ />
<install cmd=”%comspec% /c %SOFTWARE%\7zip\7zext.bat”><exit code=”any”/></install><upgrade include=”remove” />
<upgrade include=”install” /><downgrade include=”remove” />
<downgrade include=”install” /><remove cmd=’wmic product where “name like &apos;7-Zip%%&apos;” call uninstall’ /></package>

Comme nous sommes en x64, nous pouvons supprimer la ligne:“<install cmd=’msiexec /qn /norestart /i %SOFTWARE%\7zip\7z%filever%.msi’ architecture=”x86″ />”

🔺Pour tout xml, pour que goutiplet fonctionne, il faut remplacer les lignes de <instal ….> ,

<upgrade…….> et <check……>  par les lignes suivantes🔺

       <install cmd=’\\votreserveur\goutiplet\graphics\le fichier.exe /S’ />
<upgrade cmd=’\\votreserveur\goutiplet\graphics\le fichier.exe /S’ /><check type=”file” condition=”versiongreaterorequal” path=”%ProgramFiles%\nom du programme\nom du programme.exe” value=”le verssion du programe” />

(Sauf pour le cas de 7zip car il y as “ <upgrade include=”install” />”)

Donc seul la ligne “install” est nécessaire.

 

Une fois effectué le package.xml doit ressembler à cela⬇:
<package

id=’7zip’

name=’7-Zip’

revision=”%version%”

reboot=”false”

priority=”1″>

 

<variable name=”version” value=”16.04″ />

<variable name=”filever” value=”1604″ />

 

<check type=”file” condition=”versiongreaterorequal” path=”%ProgramFiles%\7zip\7zip.exe” value=”16.04″ />

 

<install cmd=’\\SRV1\goutiplet\graphics\7z1604-x64.exe /S’ />

<install cmd=”%comspec% /c \\SRV1\goutiplet\graphics\7zext.bat”><exit code=”any”/></install>

 

<upgrade include=”remove” />

<upgrade include=”install” />

 

<downgrade include=”remove” />

<downgrade include=”install” />

 

<remove cmd=’wmic product where “name like &apos;7-Zip%%&apos;” call uninstall’ />

 

 

</package>

</packages:packages>

ou⬇:

 

xml fini

La création du .bat

 

Dans le dossier graphics:

faire:→ clic droit→ nouveau→ document texte→

le donner 7zip.bat comme nom

 

Vous trouverez les lignes de commande du  .bat au même endroit que pour xml:

https://goutiplet.org/7-Zip#Via_Batch_file

il faut copier tout ce qu’il y a et les coller dans le .bat que l’on vient de créer.

 

REM This is 7zext.bat
@echo offSET SC=HKLM\Software\Classes
SET Extn=001-9 7z-0 arj-4 bz2-2 bzip2-2 cab-7 cpio-7 deb-11 dmg-17 gz-14 fat-21 gz-14 gzip-14 hfs-18 iso-8 lha-6 lzh-6 lzma-16 ntfs-22 rar-3 rpm-10 split-9 squashfs-24 swm-15 tar-13 taz-5 tbz-2 tbz2-2 tgz-14 tpz-14 txz-23 vhd-20 wim-15 xar-19 xz-23 z-5 zip-1
REM Version 9.20 checked from registry and altered. 1 differences: now cpio-12, removal split-9, addition: gz-14
SET Extn=001-9 7z-0 arj-4 bz2-2 bzip2-2 cab-7 cpio-12 deb-11 dmg-17 fat-21 gz-14 gzip-14 hfs-18 iso-8 lha-6 lzh-6 lzma-16 ntfs-22 rar-3 rpm-10 squashfs-24 swm-15 tar-13 taz-5 tbz-2 tbz2-2 tgz-14 tpz-14 txz-23 vhd-20 wim-15 xar-19 xz-23 z-5 zip-1FOR %%j IN (%Extn%) DO (
FOR /F “tokens=1,2 delims=-” %%A IN (“%%j”) DO (
REG ADD %SC%\.%%A /VE /D “7-Zip.%%A” /F
)
)

 

Le dossier graphics devrait ressembler à cela ⬇:

graphics

 

Pour Tester

Sur le PC où l’on veut installer le logiciel:

Pour tester il faut démarrer/redémarrer le service

windows➡executer➡service.msc➡GOUTIPLET services (tout en bas)➡ démarrer/redémarrer

test services

Vérification:

windows➡exécuter➡control➡désinstaller un programme➡regarder si 7zip apparaît.

test 7zip

 

Test avec un deuxième programme et avec un deuxième pc

 

Il faut modifier les .xml

➜host.xml

host xhml

➜profile.xml

profile xml

➜package.xml

 

Site pour les codes xml:

https://goutiplet.org/index.php?title=Category:Silent_Installers&pagefrom=MS+Office+97#mw-pages

J’ai utilisé celui là :

https://goutiplet.org/PDFCreator#PDFCreator.inf

 

Avant la modification:
<package id=”pdfcreator2″ name=”PDFCreator2″ revision=”%PKG_VERSION%” reboot=”false” priority=”10″>
<variable name=”PKG_VERSION”      value=”2.3.0″ />
<variable name=”PKG_EXE_VERSION”  value=”2.3.0.103″ />
<variable name=”PKG_EXE_NAME”     value=”PDFCreator-2_3_0-setup.exe” />
<variable name=”INF_FILE” value=”PDFCreator.inf” /><check type=”file” condition=”versiongreaterorequal” path=”%ProgramFiles%\PDFCreator\PDFCreator.exe” value=”%PKG_EXE_VERSION%” /><install include=”remove” />
<install cmd=’%SOFTWARE%\pdfcreator\%PKG_EXE_NAME% /LOADINF=”%SOFTWARE%\pdfcreator\%INF_FILE%” /VERYSILENT /NORESTART’ /><upgrade include=”install” /><remove cmd=’%COMSPEC% /C if exist “%ProgramFiles%\PDFCreator\unins000.exe” “%ProgramFiles%\PDFCreator\unins000.exe” /VERYSILENT’ />
<remove cmd=’%COMSPEC% /C if exist “%ProgramFiles%\PDFCreator\unins001.exe” “%ProgramFiles%\PDFCreator\unins001.exe” /VERYSILENT’ />
</package>

 

Celui là et déjà pour un .exe il y a juste à remplacer les valeurs.

 

Après modifications:
<package id=”pdfcreator2″ name=”PDFCreator2″ revision=”%PKG_VERSION%” reboot=”false” priority=”10″>

<variable name=”PKG_VERSION”      value=”2.3.0″ />

<variable name=”PKG_EXE_VERSION”  value=”2.3.0.103″ />

<variable name=”PKG_EXE_NAME”     value=”PDFCreator-2_3_0-setup.exe” />

<variable name=”INF_FILE” value=”PDFCreator.inf” />

 

<check type=”file” condition=”versiongreaterorequal” path=”%ProgramFiles%\PDFCreator\PDFCreator.exe” value=”2.3.0.103″ />

D’abord
Tout d’abord
En premier lieu
Ensuite, de plus
Finalement
En outre
Par ailleurs
En dernier lieu
enfin

<install include=”remove” />

<install cmd=’\\SRV1\goutiplet\graphics\PDFCreator-2_3_0.exe /LOADINF=”\\SRV1\goutiplet\graphics\PDFCreator.inf” /VERYSILENT /NORESTART’ />

 

<upgrade include=”install” />

 

<remove cmd=’%COMSPEC% /C if exist “%ProgramFiles%\PDFCreator\unins000.exe” “%ProgramFiles%\PDFCreator\unins000.exe” /VERYSILENT’ />

<remove cmd=’%COMSPEC% /C if exist “%ProgramFiles%\PDFCreator\unins001.exe” “%ProgramFiles%\PDFCreator\unins001.exe” /VERYSILENT’ />

</package>

 

</packages:packages>

 

La fin du .xml packages doit ressembler à cela .

package xml goutiplet

 

Création du .inf

Comme pour 7zip, les commandes se trouvent à coté du .xml : https://goutiplet.org/PDFCreator#PDFCreator.inf

Il faut reproduire la même manipulation que pour le .bat (voir page 12)  mais le renommer en “PDGcreator.inf”

puis copier le code.

[Setup]
Lang=English
Dir=C:\Program Files\PDFCreator
Group=PDFCreator
NoIcons=0
SetupType=custom
Components=program
Tasks=winexplorer
Printername=PDFCreatorEn conclusion, …
Pour conclure, …
Enfin, …
Finalement, …
En dernier lieu,

 

Le dossier graphics doit ressembler à cela⬇:

pdf creator inf

 

Pour désinstaller un programme:

 

Pour désinstaller un programme il suffit de supprimer son profil.(dans profile.xml)

 

En cas de problème:

 

Ouvrir l’observateur d’évènement.

 

pour celas:  windows➡exécuter➡eventvwr➡journaux windows➡application

Observateur devenement

pour plus de détails OU explorateur de fichier➡Ce PC➡Disque local(C:)➡Windows➡Temp➡goutiplet

debug goutiplet

En lisant les debug, les informations de ce que fait exactement goutiplet sont dévoilées.

 

Conclusion

Je n’ai pas réussi le fonctionnement de GOUTIPLET sur Debian.

Avantage: permet d’automatiser les installations et mise à jour de logiciels sans déranger l’utilisateur.

 

Nous contacter ici pour plus d’information.

 

 

 

 

Documentation de Martin Meyer le 15/01/2018