Page 1 sur 1
					
				[RESOLU] Gestion du code retour pour uninstall
				Publié : 08 juin 2023 - 09:45
				par Thierry Rapp
				Bonjour,
J'ai un logiciel qui s’installe correctement qui renseigne bien la clé de désinstallation silencieuse mais dont le code de retour est différent de 0.
Quelle sont les bonne pratiques pour ce genre de problème.
Merci d'avance
Thierry Rapp
			 
			
					
				Re: Gestion du code retour pour uninstall
				Publié : 08 juin 2023 - 10:15
				par sfonteneau
				Bonjour
Dans ce cas je vous conseille de vider  uninstallkey après l'installation:
donc : 
De cette manière wapt va oublier la clé 
puis de créer une fonction de uninstall:
 
			
					
				Re: Gestion du code retour pour uninstall
				Publié : 08 juin 2023 - 10:50
				par Thierry Rapp
				J'ai testé :
La méthode Uninstall exécutée  directement fonctionne 
La méthode remove me retourne encore une erreur
Code : Tout sélectionner
# -*- 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: Gestion du code retour pour uninstall
				Publié : 08 juin 2023 - 12:08
				par sfonteneau
				Vous pouvez donner le message d'erreur  ?
J'ai un doute sur quelque chose ... 
Vous pouvez déclarer uninstallkey juste avant le setup.py ?
Code : Tout sélectionner
# -*- 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()
Je crois pas que c'est ça mais... mais si uninstallkey est vide alors wapt n'a plus de clé a tester, si ça continue de faire des erreurs c'est que la clé est toujours là
 
			
					
				Re: Gestion du code retour pour uninstall
				Publié : 08 juin 2023 - 12:18
				par sfonteneau
				Ha oui attention quand vous faite vos test il faut absolument relancer une installation avant de tester un remove, sinon effectivement ça ne marchera pas puisque le code n'est pas dans la db ! C'est peu être tout simplement ça
			 
			
					
				Re: Gestion du code retour pour uninstall
				Publié : 09 juin 2023 - 07:42
				par Thierry Rapp
				Code : Tout sélectionner
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: Gestion du code retour pour uninstall
				Publié : 09 juin 2023 - 07:46
				par Thierry Rapp
				Je relance l'installation.
 Le programme est désinstallé correctement il déclenche juste une exception
			 
			
					
				Re: Gestion du code retour pour uninstall
				Publié : 09 juin 2023 - 08:43
				par Thierry Rapp
				Code : Tout sélectionner
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: Gestion du code retour pour uninstall
				Publié : 13 juin 2023 - 12:48
				par dcardon
				Thierry Rapp a écrit : ↑09 juin 2023 - 08:43
Code : Tout sélectionner
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
 
merci pour votre retour Thierry, on a fait un correctif pour le message d'exception, ça sera inclus dans la prochaine release 2.4.
Je passe le topic en [RESOLU]. 
Cordialement,
Denis