Pagina 1 di 2
[RISOLTO] Self-service e l'utente corrente
Pubblicato: 12 febbraio 2026 - 11:05
di Stan
Salve,
scrivo perché ho una domanda.
Ho creato un pacchetto personalizzato per installare Proton Authenticator; si tratta di un'installazione MSI, ma il percorso di installazione è la directory locale dei dati dell'utente che ha avviato l'MSI.
Volevo aggiungerlo al menu Self-Service in modo che Proton Authenticator potesse essere installato da chiunque. Tuttavia, con il menu Self-Service, l'installazione viene eseguita per l'utente "System" e non riesco a farlo nemmeno con `session_setup()`. Potreste
chiarirmi questo punto?

Re: Self-Service e l'utente corrente
Pubblicato: 12 febbraio 2026 - 11:24
di sfontenau
Buongiorno
stan ha scritto: ↑12 feb 2026 - 11:05
nemmeno con un session_setup() ci riesco.
Perché non puoi? In questo caso, session_setup dovrebbe essere corretto
Re: Self-Service e l'utente corrente
Pubblicato: 12 febbraio 2026 - 11:41
di Stan
sfonteneau ha scritto: ↑12 febbraio 2026 - 11:24
Buongiorno
stan ha scritto: ↑12 feb 2026 - 11:05
nemmeno con un session_setup() ci riesco.
Perché non puoi? In questo caso, session_setup dovrebbe essere corretto
Non riesco ad utilizzare il self-service*
Ho provato qualcosa di simile per il self-service, ma non funziona:
Codice: Seleziona tutto
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é")
Esiste un modo per installarlo per l'utente che fa clic su Installa invece di installarlo sull'utente di sistema?
Re: Self-Service e l'utente corrente
Pubblicato: 12 febbraio 2026 - 11:49
di sfontenau
Una piccola correzione al tuo codice
Codice: Seleziona tutto
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 e l'utente corrente
Pubblicato: 12 febbraio 2026 - 12:07
di Stan
Grazie mille, ora funziona.
Avete qualche suggerimento su come disinstallarlo?
Eseguire "run('msiexec /x' + bin_name + '/q')" non funziona.
Re: Self-Service e l'utente corrente
Pubblicato: 12 febbraio 2026 - 14:09
di dcardon
Ciao Stan,
l'equivalente della funzione `uninstall()` per la pulizia delle sessioni utente è la funzione `session-cleanup()`. Viene eseguita nel contesto utente con i privilegi dell'utente.
https://www.wapt.fr/en/doc/wapt-create- ... on-cleanup
Cordiali saluti,
Denis
Re: Self-Service e l'utente corrente
Pubblicato: 13 febbraio 2026 - 15:16
di Stan
Ciao,
grazie mille, non sapevo dell'esistenza di questa funzione; dev'essere piuttosto recente.
Buona giornata!
Re: Self-Service e l'utente corrente
Pubblicato: 13 febbraio 2026 - 15:59
di Stan
Ciao di nuovo,
Dopo aver provato la funzione session_cleanup(), non succede nulla...
Ecco il mio codice:
Codice: Seleziona tutto
def session_cleanup():
run("msiexec /x " + new_path + " /qn")
remove_file(new_path)
Il comando funziona bene con il mio utente, ma d'altro canto non funziona con la funzione "session_cleanup()", anche quando si usa "wapt-get session-setup packagename" non succede nulla.
Grazie per avermi potuto illuminare
Passa un buon fine settimana!
Re: Self-Service e l'utente corrente
Pubblicato: 13 febbraio 2026 - ore 18:00
di sfontenau
Ciao,
in ordine:
- Incrementa la versione del pacchetto contenente session_cleanup
- Installa il pacchetto con questa nuova versione
- Disinstalla il pacchetto
- Esegui il comando `wapt-get session-setup ALL`
Simon
Re: Self-Service e l'utente corrente
Pubblicato: 17 marzo 2026 - 11:06
di Stan
Buongiorno,
Dopo aver eseguito l'operazione una decina di volte, non succede nulla.
Ecco il mio script:
Codice: Seleziona tutto
# -*- 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)
Quando inserisco i comandi, ottengo questo:
Codice: Seleziona tutto
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
È passato da 1 a 0, quindi per me dovrebbe funzionare, ma non funziona.
Tuttavia, se eseguo la riga nella CLI "msiexec /XProtonAuthenticator.msi /qn" funziona correttamente.
grazie in anticipo
