[GELÖST] Überladen der remove()-Funktion

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
sebastien4444
Nachrichten: 22
Anmeldung: 14. September 2023 - 08:53 Uhr

14. Juni 2024 - 11:37 Uhr

Guten Morgen,

Ich habe ein Paket zur Installation von Office 2019 über das officedeploymenttool erstellt und gebe den Deinstallationsschlüssel in den Parametern der Funktion install_exe_if_needed() an.
Die Installation verläuft problemlos, aber beim Ausführen des Deinstallationsbefehls erhalte ich folgende Fehlermeldung:

Code: Alle auswählen

Command Line : remove "C:\waptdev\pilote-regtest_1.0_x64_Windows_PROD-wapt\WAPT\.."
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
Removing C:\waptdev\pilote-regtest_1.0_x64_Windows_PROD-wapt\WAPT\.. ...
2024-06-14 11:19:04,815 CRITICAL Critical error during uninstall: CalledProcessErrorOutput: Command ['"C:\\Program Files\\Common Files\\Microsoft Shared\\ClickToRun\\OfficeClickToRun.exe" scenario=install scenariosubtype=ARP sourcetype=None productstoremove=Standard2019Volume.16_fr-fr_x-none culture=fr-fr version.16=16.0'] returned non-zero exit status 1.
Output:La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.
Meine erste Frage lautet daher: Was genau bedeutet diese Nachricht? :?:

Um das Problem zu umgehen, habe ich eine uninstall.xml-Konfigurationsdatei erstellt, die die Deinstallation meiner Office-Version ermöglicht. Während der Installation kopiere ich diese Datei und die notwendige setup.exe in ein Office-Verzeichnis.
Meine Idee ist es, die remove()-Funktion zu überschreiben, sodass sie "setup.exe /configure uninstall.xml" ausführt.
Aber auch hier stoße ich auf ein Problem: Ich habe nicht das Gefühl, dass meine Überschreibung funktioniert, wenn ich den Befehl zum Entfernen der Konfiguration ausführe, da ich den gleichen Fehler wie oben erhalte.

Hier ist meine setup.py:

Code: Alle auswählen

from setuphelpers import *

def install():

    uninstall_key = "Standard2019Volume - fr-fr"
    office_path = makepath("C:","Program Files","Microsoft Office")
    office_uninstall_path = makepath("C:","Program Files","Microsoft Office","Uninstall")

    print("Debut")

    install_exe_if_needed("setup.exe", silentflags="/configure Install.xml", key=uninstall_key, timeout=None, min_version='')

    print('Install ok')

    mkdirs(office_uninstall_path)
    filecopyto("setup.exe",office_uninstall_path)
    filecopyto("Uninstall.xml",office_uninstall_path)

    print("Répertoire et fichiers desinstallation OK")

def remove():
    office_uninstall_path_setup = makepath("C:","Program Files","Microsoft Office","Uninstall","setup.exe")
    office_uninstall_path_config = makepath("C:","Program Files","Microsoft Office","Uninstall","Uninstall.xml")

    print('Debut uninstall')
    run(office_uninstall_path_setup + ' /configure ' + office_uninstall_path_config)

    print('uninstall OK')
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

14. Juni 2024 - 12:45 Uhr

Guten Morgen

Da Sie den Schlüssel hinterlassen haben, versucht Wapt, ihn zu deinstallieren

Fügen Sie Folgendes am Ende Ihrer `def install()`-Funktion hinzu:

Code: Alle auswählen

def install(): 
    ...
    uninstallkey.clear()
Wapt anweisen, nicht automatisch zu deinstallieren.
Gesperrt