Seite 1 von 1

Löschen einer Datei über die Sitzungseinrichtung

Veröffentlicht: 5. August 2024 – 14:39 Uhr
von Jorico
Hallo zusammen,

Ich versuche, ein Paket für die Installation der Asana-Anwendung zu erstellen; die Anwendung muss in der Umgebung des Benutzers installiert werden, daher verwende ich ein Session-Setup:

setup.py

Code: Alle auswählen

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

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
bin_name = "AsanaSetup.exe"
bin_tempdir = makepath('C:\\temp')
binaries = makepath(bin_tempdir, bin_name)
user_app_dir = makepath(user_local_appdata, "Asana")
processes_to_kill = ["Asana"]



def install():
    # Declaring local variables
    print("Copying binaries in C:\temp")
    filecopyto(bin_name, bin_tempdir)


def session_setup():
    # Installing the package in user env
    print("Installing: %s in user env" % "Asana")
    install_exe_if_needed(binaries, killbefore="Asana.exe")
    register_windows_uninstall(control)
    time.sleep(20)
    remove_file(binaries)

    print("ASANA is Installed ")


def uninstall():
    killalltasks(processes_to_kill)

    print("Uninstalling: %s in user env" % "Asana")
    unregister_uninstall("Asana")

Die in C:\temp abgelegte Binärdatei wird jedoch am Ende der Sitzungseinrichtung nicht gelöscht; haben Sie eine Idee, wo mein Fehler liegt?

Vielen Dank an alle für eure Hilfe :)

Betreff: Löschen einer Datei über die Sitzungseinrichtung

Veröffentlicht: 5. August 2024 – 15:42 Uhr
von t.heroult
Hallo,
vielleicht eine etwas naive Frage, aber darf der Benutzer Dateien aus dem temporären Ordner löschen?
Vergessen Sie nicht, dass die Sitzungseinrichtung mit den Rechten des aktuellen Benutzers erfolgt.

Betreff: Löschen einer Datei über die Sitzungseinrichtung

Veröffentlicht: 5. August 2024 – 15:52 Uhr
von Jorico
t.heroult schrieb: 5. August 2024 - 15:42 Uhr Hallo,
vielleicht eine dumme Frage, aber darf der Benutzer eine Datei aus dem temporären Ordner löschen?
Vergessen Sie nicht, dass die Sitzungseinrichtung mit den Rechten des aktuellen Benutzers erfolgt.
Hallo t.heroult,

Danke für Ihre Frage; daran hatte ich nicht gedacht. Der Benutzer hat das Recht, die Datei im Ordner C:\temp zu löschen

Ich habe es gerade überprüft und erhalte nach der Installation eine Fehlermeldung:

KRITISCHE Ausnahme: Die Datenbank ist gesperrt. Wahrscheinlich läuft derzeit ein anderer WAPT-Prozess (WaptAgent, WaptSelfService, wapt-get, waptpython.exe). Bitte überprüfen Sie die laufenden Prozesse. Fehler: OperationalError('Datenbank ist gesperrt')

Betreff: Löschen einer Datei über die Sitzungseinrichtung

Veröffentlicht: 5. August 2024 – 16:10 Uhr
von t.heroult
Es ist überraschend, diesen Fehler während der Sitzungseinrichtung zu erhalten; Sie müssen auf eine Antwort des Supports warten :)

Betreff: Löschen einer Datei über die Sitzungseinrichtung

Veröffentlicht: 14. August 2024 – 13:22 Uhr
von Sfonteneau
Der Fehler „OperationalError('database is locked')“

tritt häufig auf, wenn zwei WAPT-Prozesse gleichzeitig ausgeführt werden.

Beispielsweise könnte der Dienst ein Update durchführen, während Sie gleichzeitig über die Administrator-Befehlszeile `wapt-get upgrade` ausführen.

Dadurch versuchen zwei Prozesse, auf dieselbe Datenbank zuzugreifen, was zu dem Fehler „OperationalError('database is locked')“ führt.