Pagina 1 di 1
[RISOLTO] Gestione del codice di ritorno per la disinstallazione
Pubblicato: 8 giugno 2023 - 09:45
di Thierry Rapp
Salve,
ho un software che si installa correttamente e inserisce il tasto per la disinstallazione silenziosa, ma il codice di ritorno non è 0.
Quali sono le procedure consigliate per questo tipo di problema?
Grazie in anticipo,
Thierry Rapp
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 8 giugno 2023 - 10:15
di sfontenau
Buongiorno
In questo caso, ti consiglio di cancellare uninstallkey dopo l'installazione:
COSÌ :
In questo modo wapt dimenticherà la chiave
quindi creare una funzione di disinstallazione:
Codice: Seleziona tutto
def uninstall():
run('uninstall.exe',accept_returncodes=2)
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 8 giugno 2023 - 10:50
di Thierry Rapp
L'ho testato:
Il metodo di disinstallazione eseguito direttamente funziona
Il metodo remove me restituisce un altro errore
Codice: Seleziona tutto
# -*- coding: utf-8 -*-
from setuphelpers import *
app_uninstall_key = '{7261A53C-9352-45D1-8DE0-B326E177CA84}'
def install():
# Declaring local variables
fichier_lic=makepath('c:','ProgramData','itech','CESAR-LCPC','6.3','CDs')
fichier_nethasp=makepath('c:','CESAR-LCPCv2022.0','bin')
rep_syswow=makepath('c:','Windows','SysWOW64')
# Installing the software
print("Installing: CESAR-LCPCv2022.0.2.exe")
install_exe_if_needed('CESAR-LCPCv2022.0.2.exe',
silentflags='/b0 /q2',
key=app_uninstall_key,
min_version='2022.0',
timeout=600,
accept_returncodes=[0,12]
)
if not isdir(fichier_lic):
mkdirs(fichier_lic)
filecopyto('CESAR-LCPC_V6.3.ilicx',fichier_lic)
filecopyto('nethasp.ini',fichier_nethasp)
filecopyto('nethasp.ini',rep_syswow)
uninstallkey =[]
def uninstall():
uninstCMD = uninstall_cmd(app_uninstall_key)
print(uninstCMD)
run(uninstCMD,accept_returncodes=[0,12])
wait_uninstallkey_present()
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 8 giugno 2023 - 12:08
di sfontenau
Puoi fornire il messaggio di errore?
Ho un dubbio su una cosa...
È possibile dichiarare uninstallkey subito prima di setup.py?
Codice: Seleziona tutto
# -*- coding: utf-8 -*-
from setuphelpers import *
uninstallkey =[]
app_uninstall_key = '{7261A53C-9352-45D1-8DE0-B326E177CA84}'
def install():
# Declaring local variables
fichier_lic=makepath('c:','ProgramData','itech','CESAR-LCPC','6.3','CDs')
fichier_nethasp=makepath('c:','CESAR-LCPCv2022.0','bin')
rep_syswow=makepath('c:','Windows','SysWOW64')
# Installing the software
print("Installing: CESAR-LCPCv2022.0.2.exe")
install_exe_if_needed('CESAR-LCPCv2022.0.2.exe',
silentflags='/b0 /q2',
key=app_uninstall_key,
min_version='2022.0',
timeout=600,
accept_returncodes=[0,12]
)
if not isdir(fichier_lic):
mkdirs(fichier_lic)
filecopyto('CESAR-LCPC_V6.3.ilicx',fichier_lic)
filecopyto('nethasp.ini',fichier_nethasp)
filecopyto('nethasp.ini',rep_syswow)
uninstallkey =[]
def uninstall():
uninstCMD = uninstall_cmd(app_uninstall_key)
print(uninstCMD)
run(uninstCMD,accept_returncodes=[0,12])
wait_uninstallkey_present()
Non credo sia questo il problema, ma... se uninstallkey è vuoto, wapt non ha più una chiave da testare. Se continua a dare errori, significa che la chiave è ancora lì
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 8 giugno 2023 - 12:18
di sfontenau
Oh sì, fate attenzione quando fate i test; dovete assolutamente reinstallare il programma prima di testare un comando di rimozione, altrimenti non funzionerà perché il codice non è nel database! Potrebbe essere questo il motivo più semplice
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 9 giugno 2023 - 07:42
di Thierry Rapp
Codice: Seleziona tutto
Removing C:\waptdev\insastg-cesar_2022.0.2-2_windows_PROD ...
2023-06-09 07:39:07,072 CRITICAL Critical error during uninstall: CalledProcessErrorOutput: Command 'C:\\PROGRA~3\\UNINST~1\\{7261A~1\\Setup.exe /remove /q' returned non-zero exit status 12.
Output:
No package removed !
FATAL ERROR : TypeError: not all arguments converted during string formatting
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 9 giugno 2023 - 07:46
di Thierry Rapp
Sto riavviando l'installazione.
Il programma è stato disinstallato correttamente; si verifica solo un'eccezione.
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 9 giugno 2023 - 08:43
di Thierry Rapp
Codice: Seleziona tutto
Une exception s'est produite : SystemExit (note: full exception trace is shown but execution is paused at: _run_module_as_main)
3
File "C:\Program Files (x86)\wapt\wapt-get.py", line 817, in main
print("=== Error removing packages ===\n%s" % "\n".join([" %s" % p for p in errors]))
File "C:\Program Files (x86)\wapt\wapt-get.py", line 817, in <listcomp>
print("=== Error removing packages ===\n%s" % "\n".join([" %s" % p for p in errors]))
TypeError: not all arguments converted during string formatting
During handling of the above exception, another exception occurred:
File "C:\Program Files (x86)\wapt\wapt-get.py", line 1651, in main
sys.exit(3)
File "C:\Program Files (x86)\wapt\wapt-get.py", line 1677, in <module>
main()
File "C:\Program Files (x86)\wapt\Lib\site-packages\runpy.py", line 87, in _run_code
File "C:\Program Files (x86)\wapt\Lib\site-packages\runpy.py", line 194, in _run_module_as_main (Current frame)
SystemExit: 3
Re: Gestione del codice di ritorno per la disinstallazione
Pubblicato: 13 giugno 2023 - 12:48
di dcardon
Thierry Rapp ha scritto: ↑9 giugno 2023 - 08:43
Codice: Seleziona tutto
Une exception s'est produite : SystemExit (note: full exception trace is shown but execution is paused at: _run_module_as_main)
3
File "C:\Program Files (x86)\wapt\wapt-get.py", line 817, in main
print("=== Error removing packages ===\n%s" % "\n".join([" %s" % p for p in errors]))
File "C:\Program Files (x86)\wapt\wapt-get.py", line 817, in <listcomp>
print("=== Error removing packages ===\n%s" % "\n".join([" %s" % p for p in errors]))
TypeError: not all arguments converted during string formatting
During handling of the above exception, another exception occurred:
File "C:\Program Files (x86)\wapt\wapt-get.py", line 1651, in main
sys.exit(3)
File "C:\Program Files (x86)\wapt\wapt-get.py", line 1677, in <module>
main()
File "C:\Program Files (x86)\wapt\Lib\site-packages\runpy.py", line 87, in _run_code
File "C:\Program Files (x86)\wapt\Lib\site-packages\runpy.py", line 194, in _run_module_as_main (Current frame)
SystemExit: 3
Grazie per il tuo feedback Thierry, abbiamo apportato una correzione al messaggio di eccezione, che sarà inclusa nella prossima versione 2.4.
Contrassegno l'argomento come [RISOLTO].
Sinceramente,
Denis