Pagina 1 di 1

disinstalla e uninstallstring

Pubblicato: 28 settembre 2016 - 13:11
di Stenone
Ciao,

ecco il codice del mio file setup.py.

Si tratta di un file batch per l'installazione e funziona correttamente. Sto anche cercando di eseguire una disinstallazione con un file batch, ma si blocca...

quale dovrei usare, `uninstall` o `uninstallstring`? Grazie per l'aiuto!

from setuphelpers import *
uninstallkey = []
uninstallstring = [u'"C:\\FirewallRemoveEsetRule.bat"']

def install():
run(r'"FirewallAddEsetRule.bat"')

def uninstall():
run(u'"FirewallRemoveEsetRule.bat"')

e errori:
2016-09-28 15:09:00,963 WARNING Avviso: CalledProcessError: il comando '(u'"C:\\FirewallRemoveEsetRule.bat"',)' ha restituito uno stato di uscita diverso da zero 1
2016-09-28 15:09:00,986 CRITICAL Errore durante l'esecuzione dello script di disinstallazione: il comando '(u'"FirewallRemoveEsetRule.bat"',)' ha restituito uno stato di uscita diverso da zero 1
=== Pacchetti rimossi ===
allowesetinstall
=== Errore durante la rimozione dei pacchetti ===
consenti l'installazione

Re: disinstalla e uninstallstring

Pubblicato: 10 aprile 2017 - 16:32
di Nathanael
Ciao,
hai per caso trovato una soluzione a questo problema?
Nathanael

Re: disinstalla e uninstallstring

Pubblicato: 10 aprile 2017 - 16:58
di agauvrit
Buongiorno,
Stenon scrisse:

Codice: Seleziona tutto

from setuphelpers import *
uninstallkey = []
uninstallstring = [u'"C:\\FirewallRemoveEsetRule.bat"']

def install():
    run(r'"FirewallAddEsetRule.bat"')

def uninstall():
    run(u'"FirewallRemoveEsetRule.bat"')

Durante l'installazione, lo script *.bat viene eseguito correttamente, nessun problema, poiché è incluso nel pacchetto (suppongo?)

La disinstallazione, tuttavia, fallisce perché in nessun punto della funzione di installazione si copia e si incolla questo script nella radice dell'unità C:\

Se vuoi che funzioni, usa una copia del file con la funzione filecopytoche ti permetterà di chiamare il tuo script FirewallRemoveEsetRule.bat durante la disinstallazione.

Il codice sorgente diventerebbe quindi:

Codice: Seleziona tutto

from setuphelpers import *
uninstallkey = []

def install():
    run(r'"FirewallAddEsetRule.bat"')
    filecopyto("FirewallRemoveEsetRule.bat","C:\\")

def uninstall():
    run(u'"C:\\FirewallRemoveEsetRule.bat"')
Sinceramente,

Alessandro

Re: disinstalla e uninstallstring

Pubblicato: 22 aprile 2017 - 12:55
di Stenone
Grazie,

nel frattempo avevo creato un secondo pacchetto wapt chiamato remove.bat.

Ma un GRAZIE di cuore per la tua spiegazione e la tua risposta chiara!

PS: Il video della diretta è stato davvero ottimo; sembra che ora ti conosciamo meglio.