Pagina 1 di 1

[RISOLTO] funzione di disinstallazione def

Pubblicato: 10 ottobre 2023 - 15:21
di JPBUTT
Salve,
sto cercando di capire come funziona la funzione `uninstall`.
Come fa il pacchetto a recuperare lo script definito in `uninstall`
se nella funzione è presente un eseguibile o una chiave di registro? Perché quando disinstallo un pacchetto tramite console, non viene scaricato nuovamente.
Ho provato a utilizzare il servizio self-service WAPT senza effettuare l'accesso e la disinstallazione del pacchetto avviene correttamente.
Se avete informazioni da condividere,

vi ringrazio

Re: funzione di disinstallazione def

Pubblicato: 12 ottobre 2023 - 09:09
di Benoit
Buongiorno,

Non ci sono funzioni specifiche per la disinstallazione in tutti i pacchetti.

Il metodo varia a seconda di cosa si desidera disinstallare.

Ad esempio, per disinstallare un eseguibile, troverai una chiave di disinstallazione nella console wapt dopo aver installato il software.
Questa chiave di disinstallazione corrisponde a una chiave di registro che puoi trovare in regedit.
All'interno di questa chiave di registro, troverete una riga 'uninstallstring' che punta al comando di disinstallazione. Esiste una funzione chiamata 'uninstall_cmd()' nel modulo setuphelpers che consente di utilizzare questa chiave di disinstallazione.
Immagine

Ma questo non sempre funziona. A volte è necessario eseguire il comando di disinstallazione direttamente all'interno dello script utilizzando un sottoprocesso.

Codice: Seleziona tutto

command = 'MsiExec.exe /X{00000022-9040-3CA8-8868-36F59DEFD14D} /qn'

def uninstall():
    # Exécute la commande de désinstallation
    subprocess.run(command, shell=True)
    print(name_software+" a été désinstallé")
Per disinstallare un'applicazione portatile, è necessario eliminare l'intera cartella e i collegamenti sul desktop.

Spero che questo ti sia stato utile.

Saluti,

Re: funzione di disinstallazione def

Pubblicato: 12 ottobre 2023 - 16:27
di JPBUTT
Salve,
grazie per il feedback, ma la mia domanda era:
come e quando viene eseguita la definizione di disinstallazione di scrypt?

Ad esempio, se si trova in uno script di disinstallazione con un file di disinstallazione, allora chiavi di registro e cancellazione di una cartella
? Dove vengono memorizzate queste informazioni?

Re: funzione di disinstallazione def

Pubblicato: 12 ottobre 2023 - 17:38
di dcardon
Ciao Jean-Philippe,

lo script setup.py è memorizzato nel database SQLite locale del servizio WAPT (c:\program files (x86)\wapt\db\waptdb.sqlite).

Il pacchetto di installazione non viene conservato dopo l'installazione (altrimenti occuperebbe troppo spazio).

Pertanto, se hai risorse necessarie per la disinstallazione, devi memorizzarle in una posizione da cui possano essere recuperate durante la disinstallazione (una directory "persistente" o la directory dell'applicazione stessa).

Cordiali saluti,

Denis

Re: funzione di disinstallazione def

Pubblicato: 13 ottobre 2023 - 11:13
di JPBUTT
Ciao,
grazie per il tuo feedback.
Ora ho capito meglio come funziona.