Seite 1 von 2
[GELÖST] WAPT.download_upgrades() hatte keine Wirkung
Veröffentlicht: 23. Juli 2025 - 16:16 Uhr
von brice73
Guten Morgen,
Im Paket y muss ich die Methode WAPT.download_upgrades() verwenden, um ein anderes Paket x zu aktualisieren (Upgrade auf Version n+1 des in Version n installierten Pakets x) und es dann mit WAPT.install(x) zu installieren.
Das funktioniert jedoch nicht. Während der Installation von Paket y (es tritt kein Fehler auf, das Paket wird korrekt installiert) lädt der Rechner die neueste Version (n+1) von Paket x nicht herunter und installiert sie daher auch nicht. Es bleibt bei Version n von Paket x. Ich verstehe nicht, warum, da Version n+1 von Paket x auf dem WAPT-Server verfügbar ist und der Agent des Rechners korrekt konfiguriert ist, um Pakete vom WAPT-Server abzurufen. Es liegt auch nicht an der Reife von Paket x (das Problem tritt unabhängig von seiner Reife auf). Wenn ich den Rechner in der Konsole auswähle, dann auf „Nach Updates suchen“ und anschließend auf „Und Pakete herunterladen“ klicke, lädt der Rechner Version n+1 von Paket x herunter. (Im Folgenden ist dieses „Paket x“ „col73-xmind“; ich möchte es im Rahmen der Installation eines anderen Pakets aktualisieren und installieren.)
Hier sind die entsprechenden Codezeilen:
Code: Alle auswählen
WAPT.download_upgrades()
for p in WAPT.installed(include_errors=True):
if p.package == 'col73-xmind':
WAPT.install('col73-xmind')
Diese Codezeilen funktionierten schon vorher (ich habe es vor einem Jahr mit einem anderen Paket auf diese Weise ohne Probleme gemacht)
Wo könnte das Problem liegen?
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 24. Juli 2025 - 10:19 Uhr
von brice73
Ich habe einige Codezeilen hinzugefügt, um Prüfungen durchzuführen, und tatsächlich ist Paket x in Version n (genauer gesagt 16) vorhanden. Seltsamerweise wird jedoch die auf dem Server verfügbare Version n+1 (genauer gesagt 17) laut Protokoll nicht erkannt, heruntergeladen und installiert. Stattdessen lädt wapt Version n (16) erneut herunter und installiert sie neu

wie im folgenden Protokoll ersichtlich.
Wie ich jedoch bereits in meiner vorherigen Nachricht erwähnt habe, erkennt und lädt die Workstation beim Überprüfen der Paketaktualisierungen für die Workstation über die Konsole und beim Herunterladen der Pakete tatsächlich die Version n+1 (17) herunter!?
Code: Alle auswählen
WAPT.download_upgrades()
for p in WAPT.installed(include_errors=True):
if p.package == 'col73-xmind':
print("paquet col73-xmind détecté")
version_paquet=(p.version).split("-")[1]
print('version du paquet wapt de xmind installé=%s - tentative de maj du paquet"' % version_paquet)
WAPT.install('col73-xmind',force=True)
Nachfolgend finden Sie das Installationsprotokoll für das Paket col73-xmind8, das die oben genannten Codezeilen enthält:
Paket col73-xmind erkannt,
installiertes xmind wapt-Paket Version=16 - versuche Paket zu aktualisieren"
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 262144 / 161672722 (0%) (15.62Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 68419584 / 161672722 (42%) (64,22 MB/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 138936320 / 161672722 (86%) (65,72 MB/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt: 161672722 / 161672722 (100%) (65,78 MB/s)
XMind wird installiert.
Installation: xmind-8-update2-windows.exe (3.7.2.0).
Der XMind-Ordner (AppData) wird für die zukünftige Installation nach C:\Sources\XMind kopiert...
Kopieren erfolgreich abgeschlossen
Installation erfolgreich abgeschlossen.
Der Ordner der portablen XMind8-Anwendung wird kopiert.
XMind-WAPT-Paketversion=16 installiert.
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 24. Juli 2025 - 10:24 Uhr
von Sfonteneau
Guten Morgen
Wenn ich für die Workstation nach Paketaktualisierungen suche, indem ich die Pakete herunterlade, erkennt die Workstation korrekt die Version n+1 (17) und lädt sie herunter!?
Führst du im Code also ein Update durch? WAPT.update()
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 24. Juli 2025 - 11:43 Uhr
von brice73
Hallo Simon,
nein, ich hatte WAPT.update() vorher noch nicht verwendet.
Es funktioniert jetzt, wenn ich es vor WAPT.upgrades() aufrufe. Danke!
Viele Grüße
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 25. Juli 2025 – 15:27 Uhr
von dcardon
Hallo Brice,
du solltest darauf achten, `download_upgrade` oder `update` nicht in einer `install`-Funktion zu verwenden. In vielen Fällen besteht nämlich beim Herunterfahren des Rechners während der Installation keine Netzwerkverbindung (VPN, WLAN, 802.1x usw.), wodurch der Download und somit auch die Installation fehlschlägt.
Viele Grüße,
Denis
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 25. Juli 2025 - 19:08 Uhr
von vcardon
Tatsächlich ist es besser, die zweite Software als Abhängigkeit der ersten in der Steuerdatei anzugeben; das ist viel übersichtlicher und weniger fehleranfällig.
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 29. Juli 2025 - 09:37 Uhr
von brice73
Hallo Denis und Vincent,
vielen Dank für eure Ratschläge. Dieser Fall ist etwas ungewöhnlich. Ich kann und möchte dieses Paket nicht als Abhängigkeit festlegen, da es falsch benannt ist, seine `uninstall()`-Funktion nicht funktioniert (Fehler) und es sich nicht deinstallieren lässt. Daher möchte ich es durch ein anderes Paket, y, ersetzen. Ich verwende daher `WAPT.update()` und `WAPT.download_upgrades()`, um das fehlerhafte Paket zu aktualisieren. Im selben Ersatzpaket y deinstalliere ich anschließend Paket x mit `WAPT.remove(Paket x)`, nachdem es aktualisiert wurde, da die Deinstallationsfunktion von Paket x dann funktioniert.
Ich habe dieses Paket bereits von allen Rechnern entfernt, sodass es nach der Deinstallation nicht neu installiert wird.
Dadurch kann ich den Austausch bei der Installation des neuen, korrekten Pakets automatisieren. Es wäre ohnehin viel zu aufwendig, Paket x nach einem Update auf Hunderten von Rechnern manuell zu deinstallieren (die Rechner müssen dafür auch eingeschaltet sein). Ich nutze die Installation des neuen Ersatzpakets, um das Ganze zu automatisieren. Vor einem Jahr habe ich das schon mal mit einem anderen Paket gemacht, das dasselbe Problem hatte, und da lief alles reibungslos. Auf Hunderten von Rechnern gab es keine Probleme beim Herunterladen der neuen Version. Der Download erfolgt dann von einem sekundären Repository im lokalen Netzwerk.
Aber ich dachte, waptexit würde beim Herunterfahren des Systems automatisch Updates herunterladen, bevor sie installiert werden?!
Viele Grüße,
Brice
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 1. August 2025 - 20:01 Uhr
von vcardon
Aber ich dachte, Waptexit würde nach dem Herunterfahren automatisch Updates herunterladen, bevor es diese installiert?!
Nein, alles muss vor dem Start von waptexit heruntergeladen worden sein, da wir den Netzwerkverfügbarkeitsstatus nicht kennen können, wenn der Rechner heruntergefahren ist.
Da wir Ihren Anwendungsfall nun besser kennen, hätten Sie die Deinstallationsfunktion des Abhängigkeitspakets korrigieren können. Wenn Sie die Korrektur zuerst veröffentlichen würden, hätte es meiner Meinung nach gut funktioniert, zusätzlich mit einer Korrektur der "control"-Datei Ihres Hauptpakets mit einem "depends: newpackage" und einem "conflicts: oldpackage".
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 5. August 2025 – 15:37 Uhr
von brice73
Hallo Vincent,
Da wir Ihren Anwendungsfall nun besser kennen, hätten Sie die Deinstallationsfunktion des Abhängigkeitspakets korrigieren können. Wenn Sie die Korrektur zuerst veröffentlichen würden, hätte es meiner Meinung nach gut funktioniert, zusätzlich mit einer Korrektur der "control"-Datei Ihres Hauptpakets mit einem "depends: newpackage" und einem "conflicts: oldpackage".
Das scheint tatsächlich möglich. Ich dachte, die Rechner würden im Fehlermodus bleiben, denn wenn die neue Version des Pakets noch nicht installiert ist, schlägt die vorherige Deinstallation (aufgrund des Konflikts) fehl, und das neue Ersatzpaket lässt sich nicht installieren, sondern gibt einen Fehler zurück. Eigentlich sollte das nur vorübergehend sein, bis die Rechner das Paket aktualisieren, dessen Deinstallationsfunktion fehlerhaft ist.
Betreff: WAPT.download_upgrades() hat keine Wirkung
Veröffentlicht: 5. August 2025 - 19:43 Uhr
von vcardon
Das Problem mit der Deinstallationsfunktion lässt sich mit einer neueren Version des Pakets beheben. Das ist einfacher und zuverlässiger als Ihr aktueller Ansatz.
Wichtig ist aber, dass Sie mit WAPT alles umsetzen können, was Sie möchten.