"Auto-migration" (désinstallation/réinstallation) via la fonction audit() et contexte système

Questions about WAPT Packaging / Requêtes et aides autour des paquets 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
i551f
Messages : 1
Inscription : 25 nov. 2025 - 11:50

25 nov. 2025 - 12:05

Bonjour à tous,

Je travaille actuellement sur un script pour standardiser notre parc. Mon objectif est d'identifier périodiquement les logiciels qui ont été installés manuellement (hors WAPT) et, s'ils correspondent à un paquet de notre store, de forcer leur désinstallation pour les réinstaller proprement via WAPT.

J'avais pensé utiliser la fonction audit() pour cette tâche, avec une logique de ce type :

Code : Tout sélectionner

def audit():
    # ... logique de détection ...
    if logiciel_hors_wapt_detecte:
        # Tentative de désinstallation
        run(WAPT.uninstall_cmd(app["msi_product_code"]))
        return "ERROR" # Pour déclencher une réinstallation ?
    return "OK"
Cependant, j'ai un doute sur la pertinence et la faisabilité technique de cette méthode, et j'aimerais confirmer mon intuition avec vous :

Contexte d'exécution : audit() est exécuté par le service WAPT (Local System). Si la commande de désinstallation invoque une interface graphique (même une simple confirmation), j'imagine que cela va échouer ou bloquer car le service ne peut pas interagir avec la session utilisateur (problème de Session 0) ?

Interaction utilisateur : De même, j'imagine que l'utilisation de waptguihelper pour avertir l'utilisateur est proscrite dans l'audit pour les mêmes raisons ?

Est-il recommandé de faire des modifications "lourdes" (désinstallation) dans l'audit(), ou l'audit doit-il se contenter de remonter un état "ERROR" ?

Si l'audit() n'est pas le bon endroit, quelle est la meilleure pratique pour ce scénario ? Existe-t-il une autre mécanique recommandée (session_setup()) ?

Cordialement
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 2180
Inscription : 10 juil. 2014 - 23:52
Contact :

25 nov. 2025 - 12:27

Bonjour
i551f a écrit : 25 nov. 2025 - 12:05 Bonjour à tous,

Je travaille actuellement sur un script pour standardiser notre parc. Mon objectif est d'identifier périodiquement les logiciels qui ont été installés manuellement (hors WAPT) et, s'ils correspondent à un paquet de notre store, de forcer leur désinstallation pour les réinstaller proprement via WAPT.
Le plus simple C'est de faire la désinstallation dans le paquet wapt.

Si teams installer
Si paquet wapt teams pas installer alors l'installer. (et le paquet wapt d'installation de teams désinstall teams ou corrige l'installation de teams si necessaire)

En ce qui concerne le problème de gui c'est un problème plus global, la désinstallation doit être silencieuse. On peu effectivement déporter un affichage en compte system dans une session utilisateur standard mais c'est clairement un gros interdit niveau sécu. Il faut donc se débrouiller pour effectuer une désinstallation silencieuse
Répondre