Processo di disinstallazione

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
gvdbe.fr
Messaggi: 2
Iscrizioni: 22 febbraio 2018 - ore 19:02

22 febbraio 2018 - 19:21

wapt-get 1.3.13.0

Buonasera,
ho creato un pacchetto che copia un file .exe in una directory senza richiedere permessi speciali e poi crea una chiave di registro.

Avevo incluso tutti i passaggi di disinstallazione nella procedura "def uninstall()", ma ricevo un errore "file non trovato".

Quando ho commentato le mie azioni in "def uninstall", sono rimasto sorpreso e solo in seguito ho capito che definendo semplicemente la procedura 'uninstall' senza alcuna azione, il file .exe e la chiave di registro vengono eliminati e si tenta di eliminare la directory.
Sono sorpreso che il pacchetto conosca tutte queste azioni! Mi chiedevo se potesse esserci una cache del pacchetto. La pulizia con wapt-get clean e update non cambia nulla. Nemmeno la rimozione del pacchetto dal repository aiuta.

Il problema si presenta in entrambe le varianti del mio pacchetto, con o senza azioni in "def uninstall", ricevo comunque un avviso che causa il fallimento del processo di disinstallazione, che rimane incompleto, l'eliminazione della directory e apparentemente la disinstallazione non riesce a completarla.

Rimozione dello spazio su disco...
2018-02-22 19:07:34,961 AVVISO errore: (2, 'GetFileVersionInfo:GetFileVersionInfoSize', 'Impossibile trovare il file specificato.')
2018-02-22 19:07:34,964 AVVISO errore: (2, 'GetFileVersionInfo:GetFileVersionInfoSize', 'Impossibile trovare il file specificato.')
2018-02-22 19:07:34,967 AVVISO errore: (2, 'GetFileVersionInfo:GetFileVersionInfoSize', 'Impossibile trovare il file specificato.')
2018-02-22 19:07:34,969 CRITICO Errore durante l'esecuzione dello script di disinstallazione: [Errno 2] Nessun file o directory di questo tipo: 'DiskSpace.exe'
=== Pacchetti rimossi ===
spazio su disco
=== Errore durante la rimozione dei pacchetti ===
spazio su disco

Ecco cosa ho nel mio file di disinstallazione:
def uninstall():
print('disinstallazione di GRDF-DiskSpace')
# killalltasks('DiskSpace.exe')
# registry_delete(HKEY_LOCAL_MACHINE, r'software\Microsoft\Windows\CurrentVersion\Run','DiskSpace')
# time.sleep(5)
# if isdir(DiskSpacePath):
# remove_tree(DiskSpacePath,ignore_errors=True)

Qualcuno ha qualche idea?
gvdbe.fr
Messaggi: 2
Iscrizioni: 22 febbraio 2018 - ore 19:02

23 febbraio 2018 - 17:15

In realtà, ho trovato il problema. Sono le funzioni makepath che causano il problema...
come ad esempio: makepath('C:\MyDirectory','DiskSpace')
Avatar utente
htouvet
Esperto WAPT
Messaggi: 436
Registrazione: 16 marzo 2015 - 10:48
Contatto:

23 febbraio 2018 - 17:29

In Python (e in altri linguaggi) il carattere '\' in una stringa consente di codificare le interruzioni di riga, ad esempio '\n'.

Per impedire a Python di interpretare le barre rovesciate, è necessario aggiungere un prefisso 'r' (stringhe non elaborate)
Se sono presenti caratteri accentati, in genere è necessario specificare una stringa Unicode (prefisso 'u')

Codice: Seleziona tutto

makepath(ur'C:\MonRépertoire','DiskSpace')
Tranquillo IT
Bloccato