Seite 1 von 1

[GELÖST] Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 8. Juni 2023 - 9:45 Uhr
von Thierry Rapp
Hallo,
ich habe eine Software, die sich korrekt installieren lässt und den Schlüssel für die automatische Deinstallation eingibt, aber der Rückgabecode ist nicht 0.
Was sind die besten Vorgehensweisen für dieses Problem?

Vielen Dank im Voraus,
Thierry Rapp

Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 8. Juni 2023 - 10:15 Uhr
von Sfonteneau
Guten Morgen

In diesem Fall rate ich Ihnen, den Deinstallationsschlüssel nach der Installation zu löschen:

ALSO :

Code: Alle auswählen

uninstallkey = []
Auf diese Weise vergisst Wapt den Schlüssel

Erstellen Sie anschließend eine Deinstallationsfunktion:

Code: Alle auswählen

def uninstall():
    run('uninstall.exe',accept_returncodes=2)

Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 8. Juni 2023 - 10:50 Uhr
von Thierry Rapp
Ich habe es getestet:

Die direkt ausgeführte Deinstallationsmethode funktioniert
Die Methode "remove me" gibt einen weiteren Fehler zurück

Code: Alle auswählen

# -*- 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()




Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 8. Juni 2023 - 12:08 Uhr
von Sfonteneau
Können Sie die Fehlermeldung angeben?


Ich habe eine Frage...

Kann man uninstallkey direkt vor setup.py deklarieren?

Code: Alle auswählen

# -*- 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()

Ich glaube nicht, dass es daran liegt, aber … wenn uninstallkey leer ist, hat wapt keinen Schlüssel mehr zum Testen. Wenn weiterhin Fehler auftreten, bedeutet das, dass der Schlüssel noch vorhanden ist

Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 8. Juni 2023 - 12:18 Uhr
von Sfonteneau
Oh ja, seien Sie vorsichtig bei Ihren Tests; Sie müssen das Programm unbedingt neu installieren, bevor Sie einen Deinstallationsbefehl testen, sonst funktioniert es nicht, weil der Code nicht in der Datenbank vorhanden ist! Das könnte der einfache Grund sein

Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 9. Juni 2023 - 7:42 Uhr
von Thierry Rapp

Code: Alle auswählen

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

Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 9. Juni 2023 - 7:46 Uhr
von Thierry Rapp
Ich starte die Installation neu.

Das Programm wurde ordnungsgemäß deinstalliert; es löst lediglich eine Ausnahme aus.

Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 9. Juni 2023 - 8:43 Uhr
von Thierry Rapp

Code: Alle auswählen

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

Betreff: Umgang mit Rückgabecodes bei der Deinstallation

Veröffentlicht: 13. Juni 2023 - 12:48 Uhr
von dcardon
Thierry Rapp schrieb: 9. Juni 2023 - 08:43 Uhr

Code: Alle auswählen

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
Vielen Dank für Ihr Feedback, Thierry. Wir haben den Fehler mit der Fehlermeldung behoben; die Korrektur wird in der nächsten Version 2.4 enthalten sein.
Ich markiere das Thema als [GELÖST].

Aufrichtig,

Denis