Page 1 sur 2
Self-Service et l'utilisateur actuel
Publié : 12 févr. 2026 - 11:05
par stan
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

Re: Self-Service et l'utilisateur actuel
Publié : 12 févr. 2026 - 11:24
par sfonteneau
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
Re: Self-Service et l'utilisateur actuel
Publié : 12 févr. 2026 - 11:41
par stan
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?
Re: Self-Service et l'utilisateur actuel
Publié : 12 févr. 2026 - 11:49
par sfonteneau
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é")
Re: Self-Service et l'utilisateur actuel
Publié : 12 févr. 2026 - 12:07
par stan
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.
Re: Self-Service et l'utilisateur actuel
Publié : 12 févr. 2026 - 14:09
par dcardon
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: Self-Service et l'utilisateur actuel
Publié : 13 févr. 2026 - 15:16
par stan
Bonjour,
Merci beaucoup, je n'étais pas au courant que cette fonction existait, cette fonction doit être assez récente.
Bonne journée !
Re: Self-Service et l'utilisateur actuel
Publié : 13 févr. 2026 - 15:59
par stan
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
Bon week-end !
Re: Self-Service et l'utilisateur actuel
Publié : 13 févr. 2026 - 18:00
par sfonteneau
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
Re: Self-Service et l'utilisateur actuel
Publié : 17 mars 2026 - 11:06
par stan
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
