Comment wapitiser des logiciels déjà installés ?

Share here your tips or issues concerning WAPT Console or WAPT Agent / Venez ici partager vos problèmes et astuces concernants la console et l'agent WAPT
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
dominix
Messages : 1
Inscription : 05 janv. 2016 - 06:31

05 janv. 2016 - 06:40

il y a sur mes machines déjà plein de logiciels que propose wapt.
Cependant wapt ne me propose pas de les mettre à jour.
Alors voila une truc que j'aimerais connaitre, comment faire pour intégrer les logiciels déjà installés.

merci de vos lumières, et bonne année 111110000 a tous.
Floflobel
Messages : 135
Inscription : 15 oct. 2015 - 17:32

05 janv. 2016 - 08:47

Tout dépend de ton script en Python si tu l'installe juste alors il réinstallera par dessus même si le logiciel est déjà présent.
Tu peux mettre une condition que si il est déjà présent alors tu ne le réinstalle pas.
Tu peux aussi jouer avec la version..
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

05 janv. 2016 - 08:57

Effectivement, les paquets bien écrits testent la version déjà installée et ne font que la postconfiguration si le logiciel est déjà présent sur la machine (fonctions install_exe_if_needed ou install_msi_if_needed par exemple)
Si le parc est homogène (les PC ont tous à peu près les mêmes logiciels), alors un paquet groupe de logiciels appliqué à tous les PC fera l'affaire.

Sinon, une solution est de créer un paquet qui détecte les logiciels présents et installe le paquet WAPT cotrrespondant.
Ensuite, les mises à jour se font par Wapt.

exemple de script setup.py correspondant :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

softs = (
    ('adobe flash','tis-flash'),
    ('java update','tis-java'),
    ('irfanview','tis-irfanview'),
    ('7-zip','tis-7zip'),
    ('notepad++','tis-notepadplusplus'),
    ('mozilla firefox esr','tis-firefox-esr'),
)

def update_control(control):
    import re
    # replace description with list of keywords
    control.description = re.sub('\(.*\)','(%s)'%(','.join([s for s,p in softs])),control.description)

def install():
    for (keywords,package) in softs:
        found = installed_softwares(keywords)
    if found and not WAPT.is_installed(package):
        print('%s %s installed, adding package'%(found[0]['name'],found[0]['version']))
        WAPT.install(package)
Tranquil IT
Floflobel
Messages : 135
Inscription : 15 oct. 2015 - 17:32

05 janv. 2016 - 09:44

Bonjour,

Petit question un peu hors sujet.
Ce print vous reporte t'il bien le nom du package et ça version ?

Code : Tout sélectionner

print('%s %s installed, adding package'%(found[0]['name'],found[0]['version']))
        WAPT.install(package)
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

05 janv. 2016 - 12:08

pas tout à fait

Code : Tout sélectionner

print('%s %s installed, adding package'%(found[0]['name'],found[0]['version']))
        WAPT.install(package)
affiche le premier nom de logiciel trouvé dans la base de registre windows qui correspond au mots clés, pas les paquets Wapt.

Au passage, il y a un problème d'indentation dans mon post précédent.
C'est :

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

softs = (
    ('adobe flash','tis-flash'),
    ('java update','tis-java'),
    ('irfanview','tis-irfanview'),
    ('7-zip','tis-7zip'),
    ('notepad++','tis-notepadplusplus'),
    ('mozilla firefox esr','tis-firefox-esr'),
)

def update_control(control):
    import re
    # replace description with list of keywords
    control.description = re.sub('\(.*\)','(%s)'%(','.join([s for s,p in softs])),control.description)

def install():
    for (keywords,package) in softs:
        found = installed_softwares(keywords)
        if found and not WAPT.is_installed(package):
            print('%s %s installed, adding package'%(found[0]['name'],found[0]['version']))
            WAPT.install(package)
Tranquil IT
Verrouillé