Seite 1 von 1

[GELÖST] [Fehler 145] Das Verzeichnis ist nicht leer

Veröffentlicht: 10. Juli 2019 - 11:19 Uhr
von erickeke
Hallo,

beim Installieren von Paketen erhalte ich häufig die Fehlermeldung:

[Error 145] Das Verzeichnis ist nicht leer: 'c:\\users\\admin\\appdata\\local\\temp\\waptvqjgz'.

Ich muss ein `time.sleep(5)` einfügen, um den Fehler zu vermeiden.

Ich kann nicht mit Sicherheit sagen, ob er jedes Mal auftritt, wenn ich dieselbe Funktion verwende: im obigen Fall: `
install_exe_if_needed("setup-gprolog-1.4.5-msvc-x64.exe",'/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',key='GNU Prolog_is1',min_version='1.4.5')`.

Das Problem tritt systematisch mit diesem Installationsprogramm auf; auch nach einer Deinstallation und Neuinstallation passiert dasselbe.

Der Ordner wird jedoch schließlich aus dem Temp-Verzeichnis gelöscht.

Auf meinem Testrechner, auf dem Windows 7 64-Bit läuft und der Wapt-Client Version 1.7.3.5 verwendet wird, ist keine Antivirensoftware installiert.

Es ist nicht weiter tragisch; es handelt sich nicht um einen schwerwiegenden Fehler. ;-)

Viele Grüße.

Betreff: [Fehler 145] Das Verzeichnis ist nicht leer

Veröffentlicht: 11. Juli 2019 - 11:29 Uhr
von dcardon
Hallo Erikeke,
erickeke schrieb: 10. Juli 2019 - 11:19 Uhr Beim Installieren von Paketen erhalte ich häufig folgende Fehlermeldung:

[Fehler 145] Das Verzeichnis ist nicht leer: 'c:\\users\\admin\\appdata\\local\\temp\\waptvqjgz'.

Ich muss ein `time.sleep(5)` einfügen, um den Fehler zu vermeiden.

Ich kann nicht mit Sicherheit sagen, ob er jedes Mal auftritt, wenn ich dieselbe Funktion verwende: im obigen Fall: `
install_exe_if_needed("setup-gprolog-1.4.5-msvc-x64.exe",'/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',key='GNU Prolog_is1',min_version='1.4.5')`.

Es passiert systematisch mit diesem Installationsprogramm; wenn ich es deinstalliere und neu installiere, passiert dasselbe.

Der Ordner wird jedoch schließlich aus dem temporären Verzeichnis gelöscht.

Auf meinem Testrechner, auf dem Windows 7 64-Bit läuft und der Wapt-Client Version 1.7.3.5 verwendet wird, ist keine Antivirensoftware installiert.

Es ist keine große Sache; es ist kein schwerwiegender Fehler. ;-)
Das Installationsprogramm muss wahrscheinlich temporäre Dateien in dem Verzeichnis erstellen, in dem das Paket entpackt wird.

Tatsächlich wird während der Installation das temporäre WAPT-Verzeichnis (hier c:\\users\\admin\\appdata\\local\\temp\\waptvqjgz, Präfix „wapt“ und ein zufälliges Suffix) erstellt, um den Inhalt des WAPT-Pakets zu entpacken. Anschließend führt WAPT das Python-Skript setup.py aus. Wenn Sie in setup.py ein Installationsprogramm aufrufen, das in das aktuelle Verzeichnis entpackt und seine Dateien erst kurz nach Beendigung der ausführbaren Datei löscht, könnte das von Ihnen beschriebene Problem auftreten.

Die von Ihnen vorgeschlagene Option, ein sleep(5) hinzuzufügen, sollte setup.exe Zeit zum Aufräumen geben (obwohl die Kontrolle bereits an run() zurückgegeben wurde...). Paketierung ist keine exakte Wissenschaft :-)

Aufrichtig,

Denis

Betreff: [Fehler 145] Das Verzeichnis ist nicht leer

Veröffentlicht: 12. Juli 2019 – 13:34 Uhr
von dcardon
dcardon schrieb: 11. Juli 2019 - 11:29 Uhr Hallo Erikeke,
erickeke schrieb: 10. Juli 2019 - 11:19 Uhr Beim Installieren von Paketen erhalte ich häufig folgende Fehlermeldung:

[Fehler 145] Das Verzeichnis ist nicht leer: 'c:\\users\\admin\\appdata\\local\\temp\\waptvqjgz'.

Ich muss ein `time.sleep(5)` einfügen, um den Fehler zu vermeiden.

Ich kann nicht mit Sicherheit sagen, ob er jedes Mal auftritt, wenn ich dieselbe Funktion verwende: im obigen Fall: `
install_exe_if_needed("setup-gprolog-1.4.5-msvc-x64.exe",'/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',key='GNU Prolog_is1',min_version='1.4.5')`.

Es passiert systematisch mit diesem Installationsprogramm; wenn ich es deinstalliere und neu installiere, passiert dasselbe.

Der Ordner wird jedoch schließlich aus dem temporären Verzeichnis gelöscht.

Auf meinem Testrechner, auf dem Windows 7 64-Bit läuft und der Wapt-Client Version 1.7.3.5 verwendet wird, ist keine Antivirensoftware installiert.

Es ist keine große Sache; es ist kein schwerwiegender Fehler. ;-)
Das Installationsprogramm muss wahrscheinlich temporäre Dateien in dem Verzeichnis erstellen, in dem das Paket entpackt wird.

...
Nach reiflicher Überlegung ließe sich dieser Fall im Rahmen der Standardinstallation von WAPT lösen. Wenn das Verzeichnis nicht leer ist und der Löschvorgang fehlschlägt, warten wir 5 Sekunden und versuchen es erneut. Schlägt es auch beim zweiten Mal fehl, wird dies als Fehler markiert; andernfalls wird das Verzeichnis erfolgreich gelöscht.

Wir werden sehen, ob wir das in eine zukünftige Version integrieren können.

Aufrichtig,

Denis Cardon

Betreff: [GELÖST] [Fehler 145] Das Verzeichnis ist nicht leer

Veröffentlicht: 4. September 2019 – 19:35 Uhr
von erickeke
Danke, Entschuldigung für die späte Antwort, ich hatte Ihre Nachricht nicht gesehen… :-)