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? :D

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
dcardon ha scritto: 12 feb 2026 - 14:09 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
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 :D

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 :)