[GELÖST] Die Uninstall()-Funktion von WAPT wird nicht ausgeführt?

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
erems
Nachrichten: 46
Anmeldung: 25. April 2023 - 15:52 Uhr

1. April 2026 – 17:13 Uhr

Guten Morgen,

Wir arbeiten aktuell an einem DinoCapture-Paket; hier ist die setup.py-Datei:

Code: Alle auswählen

# -*- coding: utf-8 -*-
from setuphelpers import *

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls

uninstallkey = r'{683A259B-BCA2-4161-9B23-2110F2AE472C}'
iss_path = r"C:\Program Files\DinoCapture-2.0-Uninstall"

def install():
    copytree2('DNC2_AP',iss_path)
    # Installing the software
    print("Installing: DinoCapture 2.0")
    install_exe_if_needed(rf'{iss_path}\setup.exe',
        silentflags='/s',
        key=uninstallkey,
        min_version='1.5.57.A'
    )

def uninstall():
    # Declaring local variables
    setupfile = rf'{iss_path}\setup.exe'
    uninst_file = rf'{iss_path}\uninstall.iss'
    if isfile(uninst_file):
        print("Lancement de la désinstallation DinoCapture")
        uninstallcmd = rf'"{setupfile}" /s /f1"{uninst_file}"'
        print(uninstallcmd)
        run(
            uninstallcmd,
            accept_returncodes=[0,1605,1614,1641,3010,2147753984]
        )
        remove_tree(iss_path)
    else:
        print("Fichier non trouvé : ", uninst_file)
Innerhalb von PyScripter funktionieren die Installations- und Deinstallationsfunktionen korrekt. Die Deinstallation liefert die erwartete Ausgabe:

Code: Alle auswählen

Ligne de Commande : uninstall "C:\Users\user-adm\Desktop\erems-dinocapture_1.5.57_Windows_PROD-wapt\WAPT\.."
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
Uninstalling C:\Users\user-adm\Desktop\erems-dinocapture_1.5.57_Windows_PROD-wapt ...
Lancement de la désinstallation DinoCapture
"C:\Program Files\DinoCapture-2.0-Uninstall\setup.exe" /s /f1"C:\Program Files\DinoCapture-2.0-Uninstall\uninstall.iss"
2026-04-01 16:13:41,591 WARNING "C:\Program Files\DinoCapture-2.0-Uninstall\setup.exe" /s /f1"C:\Program Files\DinoCapture-2.0-Uninstall\uninstall.iss" command returns code 2147753984
None
Uninstallation done
Das in WAPT importierte Paket lässt sich zwar korrekt installieren, aber nicht ordnungsgemäß deinstallieren:

Code: Alle auswählen

Waiting for the removal of key: {683A259B-BCA2-4161-9B23-2110F2AE472C} from Windows registry
Fatal error : Uninstallkey still present
Traceback (most recent call last):
  File "<string>", line 1693, in run
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 891, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1544, in _run
    self.result = self.wapt.remove(self.packagenames,
  File "C:\Program Files (x86)\wapt\common.py", line 6017, in remove
    setuphelpers.error('Uninstallkey still present')
  File "C:\Program Files (x86)\wapt\waptutils.py", line 2176, in error
    raise EWaptSetupException('Fatal error : %s' % reason)
waptutils.EWaptSetupException: Fatal error : Uninstallkey still present

EWaptSetupException: Fatal error : Uninstallkey still present
Traceback (most recent call last):
  File "<string>", line 1693, in run
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 891, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1544, in _run
    self.result = self.wapt.remove(self.packagenames,
  File "C:\Program Files (x86)\wapt\common.py", line 6017, in remove
    setuphelpers.error('Uninstallkey still present')
  File "C:\Program Files (x86)\wapt\waptutils.py", line 2176, in error
    raise EWaptSetupException('Fatal error : %s' % reason)
waptutils.EWaptSetupException: Fatal error : Uninstallkey still present
Ich finde keine Spuren; anscheinend wird meine benutzerdefinierte Deinstallationsfunktion nicht ausgeführt (?)
Weißt du, warum?

Ich danke Ihnen für Ihre Hilfe.
Beste grüße.
Zuletzt bearbeitet von erems am 10. April 2026 um 09:43 Uhr, 1 Mal bearbeitet.
erems
Nachrichten: 46
Anmeldung: 25. April 2023 - 15:52 Uhr

8. April 2026 – 16:47 Uhr

Guten Morgen,

Ich habe mir das Problem heute noch einmal angesehen und denke, es handelt sich um einen Fehler (WAPT 2.6.1.17765), denn auf einem Rechner, auf dem das Paket installiert ist:
- Wenn ich das Paket über die Konsole deinstalliere, erhalte ich die Fehlermeldung, die ich in meinem ersten Beitrag angegeben habe (und die Software ist immer noch auf dem Rechner).
- Wenn ich auf den Computer gehe und Folgendes ausführe: wapt-get uninstall erems-dinocapture -l debug

Code: Alle auswählen

[DEBUG] Logging TSynLog with level=debug to C:\Program Files (x86)\wapt\log\wapt-get.log
2026-04-08 16:42:30,680 DEBUG Default encoding : utf-8
2026-04-08 16:42:30,680 DEBUG Caller: ['', 'uninstall', 'erems-dinocapture', '-l', 'debug']
2026-04-08 16:42:30,680 DEBUG Python path ['C:\\Program Files (x86)\\wapt', 'C:\\Program Files (x86)\\wapt\\python310.zip', 'C:\\Program Files (x86)\\wapt', 'C:\\Program Files (x86)\\wapt\\DLLs', 'C:\\Program Files (x86)\\wapt\\lib\\site-packages', 'C:\\Program Files (x86)\\wapt\\lib\\site-packages\\win32', 'C:\\Program Files (x86)\\wapt\\lib\\site-packages\\win32\\lib', 'C:\\Program Files (x86)\\wapt\\lib\\site-packages\\Pythonwin']
2026-04-08 16:42:30,680 INFO Using local waptservice configuration C:\Program Files (x86)\wapt\wapt-get.ini
2026-04-08 16:42:30,680 DEBUG Config file: C:\Program Files (x86)\wapt\wapt-get.ini
2026-04-08 16:42:30,680 INFO Using openssl OpenSSL 3.5.5 27 Jan 2026
2026-04-08 16:42:30,680 DEBUG Thread 11812 is connecting to wapt db
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
2026-04-08 16:42:30,699 INFO User Groups:[]
2026-04-08 16:42:30,699 DEBUG Using host certificate C:\Program Files (x86)\wapt\private\4c4c4544-0053-5410-8034-c4c04f374a32.pem for repo global auth
2026-04-08 16:42:30,699 DEBUG 11812 Loading config from file C:\Program Files (x86)\wapt\conf.d\cfg-all-maturities.json
2026-04-08 16:42:30,699 DEBUG 11812 Loading config from file C:\Program Files (x86)\wapt\conf.d\cfg-windows-update.json
2026-04-08 16:42:30,699 DEBUG 11812 Loading config from file C:\Program Files (x86)\wapt\conf.d\Config_Maturities.json
2026-04-08 16:42:30,699 INFO WAPT base directory : C:\Program Files (x86)\wapt
2026-04-08 16:42:30,699 DEBUG Checking if old install in progress
2026-04-08 16:42:30,716 DEBUG reset stalled install_status in database
2026-04-08 16:42:30,716 DEBUG Thread 11812 is connecting to wapt db
Uninstalling erems-dinocapture ...
2026-04-08 16:42:30,728 DEBUG Sourcing setup from DB
2026-04-08 16:42:30,728 INFO   sourcing setuppy file None
2026-04-08 16:42:30,728 DEBUG Import source code as __waptsetup_CMXIWURP55__
2026-04-08 16:42:30,744 INFO   executing setup.uninstall({})
Lancement de la désinstallation DinoCapture
"C:\Program Files\DinoCapture-2.0-Uninstall\setup.exe" /s /f1"C:\Program Files\DinoCapture-2.0-Uninstall\uninstall.iss"
2026-04-08 16:42:30,744 INFO Run ""C:\Program Files\DinoCapture-2.0-Uninstall\setup.exe" /s /f1"C:\Program Files\DinoCapture-2.0-Uninstall\uninstall.iss""
2026-04-08 16:42:46,256 WARNING "C:\Program Files\DinoCapture-2.0-Uninstall\setup.exe" /s /f1"C:\Program Files\DinoCapture-2.0-Uninstall\uninstall.iss" command returns code 2147753984
2026-04-08 16:42:46,316 DEBUG Removing module: __waptsetup_CMXIWURP55__, refcnt: 3
2026-04-08 16:42:46,316 DEBUG   Change current directory to C:\Windows\System32
None
Uninstallation done
20260408 14424619  ! rotat wapt-get 2.6.1.17765 TSynLog 2.4.13434 {4 9.47 7.05 3.6GB/7.9GB 66581b01}
20260408 14424619  ! info  SetThreadName 1 2e24 11812=Main
20260408 14424619  ! info  wapt-get terminate
Alles läuft gut, wir können sehen, dass die Deinstallationsfunktion korrekt aufgerufen wird und die Software tatsächlich deinstalliert wird.

Könnten Sie uns bitte helfen? Ich kann Ihnen den Quellcode des Pakets zusenden, wenn Sie möchten.
DANKE.
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

8. April 2026 – 17:16 Uhr

Guten Morgen

Entschuldigung, ich dachte, ich hätte auf Ihren Beitrag geantwortet, aber anscheinend nicht

Fügen Sie diese Zeile am Ende des Installationsbefehls in Ihrem Code hinzu:

Code: Alle auswählen

uninstallkey.remove(r'{683A259B-BCA2-4161-9B23-2110F2AE472C}')
Wapt anweisen, den Schlüssel zu vergessen und ihn nicht in der Wapt-Datenbank zu speichern
erems
Nachrichten: 46
Anmeldung: 25. April 2023 - 15:52 Uhr

10. April 2026 - 09:43 Uhr

Hallo,

vielen Dank, es funktioniert tatsächlich.

Muss dies systematisch erfolgen, wenn man eine benutzerdefinierte Deinstallationsfunktion in einem WAPT-Paket verwendet?

Viele Grüße.
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1953
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

10. April 2026 - 10:04 Uhr

Hallo erems,

die Deinstallationsfunktion ergänzt die standardmäßig in Wapt integrierte Deinstallationsfunktion mit dem Deinstallationsschlüssel.

Wenn Sie also explizit innerhalb Ihres Deinstallationsbefehls deinstallieren, müssen Sie den Deinstallationsschlüssel entfernen; andernfalls wird der Deinstallationsbefehl zweimal ausgeführt (und stürzt daher ab). Wir werden die Dokumentation prüfen, um dies besser zu erklären.

Vielen Dank für Ihr Feedback :-)

. Beste Grüße,

Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Gesperrt