Self-Service et l'utilisateur actuel

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
stan
Messages : 11
Inscription : 26 mai 2025 - 22:16

12 févr. 2026 - 11:05

Bonjour,

Je me permet de faire ce poste car je me pose une question.

J'ai crée un paquet custom pour installé Proton Authenticator, c'est une installation MSI, sauf que le chemin d'installation est celui du local appdata de l'utilisateur qui a lancé le MSI.

J'aurai aimé l'ajouter au Self-Service, comme ça Proton Authenticator peut être installé par celui qui le souhaite. Sauf que du coup avec le self service celui-ci va venir l'installer pour "System", même avec un session_setup() je ne peux pas le faire.

Merci de m'éclairer sur le sujet :D
Dernière modification par stan le 13 févr. 2026 - 15:54, modifié 2 fois.
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 2312
Inscription : 10 juil. 2014 - 23:52
Contact :

12 févr. 2026 - 11:24

Bonjour
stan a écrit : 12 févr. 2026 - 11:05 même avec un session_setup() je ne peux pas le faire.
Pourquoi vous ne pouvez pas ? Justement pour ce cas le session_setup devrais être bon
stan
Messages : 11
Inscription : 26 mai 2025 - 22:16

12 févr. 2026 - 11:41

sfonteneau a écrit : 12 févr. 2026 - 11:24 Bonjour
stan a écrit : 12 févr. 2026 - 11:05 même avec un session_setup() je ne peux pas le faire.
Pourquoi vous ne pouvez pas ? Justement pour ce cas le session_setup devrais être bon
Je ne peux pas avec le self-service*
J'ai fait un truc du genre pour le self-service mais ça ne fonctionne pas :

Code : Tout sélectionner

def install():
    session_setup()

def session_setup():
    bin_name = glob.glob("ProtonAuthenticator*.msi")[0]
    install_msi_if_needed(bin_name)
    print("Proton Authenticator a été installé")
Avez-vous un moyen de l'installer pour l'utilisateur qui appuie sur installer au lieu de l'installer sur l'utilisateur System?
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 2312
Inscription : 10 juil. 2014 - 23:52
Contact :

12 févr. 2026 - 11:49

Petite correction de votre code

Code : Tout sélectionner


def install():
    bin_name = glob.glob("ProtonAuthenticator*.msi")[0]
    filecopyto(bin_name , r'c:\test.msi')

def session_setup():
    bin_name = r'c:\test.msi'
    install_msi_if_needed(bin_name)
    print("Proton Authenticator a été installé")
    
    
stan
Messages : 11
Inscription : 26 mai 2025 - 22:16

12 févr. 2026 - 12:07

Merci beaucoup, ça fonctionne maintenant.

Avez-vous une idée pour la désinstallation ?

En faisant "run('msiexec /x' + bin_name + '/q')" ça ne fonctionne pas.
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1896
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

12 févr. 2026 - 14:09

Bonjour Stan,

l'équivalent de la fonction uninstall() pour faire du ménage dans les session utilisateur est la fonction session-cleanup(). Ca s'exécute dans le contexte utilisateur avec les droits de l'utilisateur.

https://www.wapt.fr/en/doc/wapt-create- ... on-cleanup

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
stan
Messages : 11
Inscription : 26 mai 2025 - 22:16

13 févr. 2026 - 15:16

Bonjour,

Merci beaucoup, je n'étais pas au courant que cette fonction existait, cette fonction doit être assez récente.

Bonne journée !
stan
Messages : 11
Inscription : 26 mai 2025 - 22:16

13 févr. 2026 - 15:59

dcardon a écrit : 12 févr. 2026 - 14:09 Bonjour Stan,

l'équivalent de la fonction uninstall() pour faire du ménage dans les session utilisateur est la fonction session-cleanup(). Ca s'exécute dans le contexte utilisateur avec les droits de l'utilisateur.

https://www.wapt.fr/en/doc/wapt-create- ... on-cleanup

Cordialement,

Denis
Re-bonjour,

Après avoir essayer la fonction session_cleanup(), rien ne se passe...

Voici mon code :

Code : Tout sélectionner

def session_cleanup():
    run("msiexec /x " + new_path + " /qn")
    remove_file(new_path)
La commande fonctionne bien avec mon utilisateur mais par contre ne fonctionne pas avec la fonction "session_cleanup()", même en utilisant "wapt-get session-setup nomdupackage" rien ne se passe.

Merci de pouvoir m'éclairer :D

Bon week-end !
Avatar de l’utilisateur
sfonteneau
Expert WAPT
Messages : 2312
Inscription : 10 juil. 2014 - 23:52
Contact :

13 févr. 2026 - 18:00

Bonjour

Dans l'ordre

- Incrémenter la version du paquet qui contient le session_cleanup

- installer le paquet avec cette nouvelle version

- désinstaller le paquet

- lancer la commande wapt-get session-setup ALL

Simon
stan
Messages : 11
Inscription : 26 mai 2025 - 22:16

17 mars 2026 - 11:06

Bonjour,

Après avoir effectué l'opération une dizaine de fois. Rien ne se passe.

Voici mon script:

Code : Tout sélectionner

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

new_path = makepath(programdata(), "wapt", "ProtonAuthenticator.msi")

def install():
    bin_name = glob.glob("ProtonAuthenticator*.msi")[0]
    filecopyto(bin_name , new_path)
    if isfile(new_path):
        print("Proton Authenticator a été copié dans " + new_path)
        return
    else:
        print("Erreur lors de la copie de Proton Authenticator dans " + new_path)
        return "ERROR"

def session_setup():
    try:
        install_msi_if_needed(new_path)
    except Exception as e:
        print("Erreur lors de l'installation de Proton Authenticator : " + str(e))
        return "ERROR"
    print("Proton Authenticator a été installé")
    return "OK"

def session_cleanup():
    run("msiexec /X" + new_path + " /qn")
    remove_file(new_path)
En faisant les commandes j'obtiens ça:

Code : Tout sélectionner

C:\Users\stan>wapt-get remove X-proton-authenticator
Désinstallation de X-proton-authenticator mis en file d'attente

Désinstallé(s) : X-proton-authenticator

C:\Users\stan>wapt-get session-cleanup ALL
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
1

C:\Users\stan>wapt-get session-cleanup ALL
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
0
C'est passé de 1 à 0 donc pour moi cela devrait fonctionner mais ça ne marche pas.

Par contre si j’exécute la ligne en CLI "msiexec /XProtonAuthenticator.msi /qn" cela fonctionne bien.

Merci d'avance :)
Répondre