Pagina 1 di 1

Eliminazione di un file tramite l'impostazione della sessione

Pubblicato: 5 agosto 2024 - 14:39
di jorico
Ciao a tutti,

Sto cercando di creare un pacchetto per installare l'applicazione Asana; l'applicazione deve essere installata nell'ambiente dell'utente, quindi sto utilizzando una configurazione di sessione:

setup.py

Codice: Seleziona tutto

# -*- 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")

Tuttavia, il file binario posizionato in C:\temp non viene eliminato al termine della configurazione della sessione; hai idea di quale sia il mio errore?

Grazie a tutti per il vostro aiuto :)

Re: Eliminazione di un file tramite impostazione della sessione

Pubblicato: 5 agosto 2024 - 15:42
di t.heroult
Ciao,
domanda sciocca, ma l'utente ha il diritto di eliminare un file dalla cartella temporanea?
Non dimenticare che la configurazione della sessione viene eseguita con i diritti dell'utente corrente.

Re: Eliminazione di un file tramite impostazione della sessione

Pubblicato: 5 agosto 2024 - 15:52
di jorico
t.heroult ha scritto: 5 agosto 2024 - 15:42 Ciao,
domanda sciocca, ma l'utente ha il diritto di eliminare un file dalla cartella temporanea?
Non dimenticare che la configurazione della sessione viene eseguita con i diritti dell'utente corrente.
Ciao t.heroult,

Grazie per la domanda; non avevo considerato questo punto. L'utente ha il diritto di eliminare il file nella cartella C:\temp

Ho appena controllato, ricevo un errore dopo l'installazione:

Eccezione CRITICA: il database è bloccato. Probabilmente è in esecuzione un altro processo WAPT (WaptAgent, WaptSelfService, wapt-get, waptpython.exe). Controllare i processi in esecuzione. Errore: OperationalError('database bloccato')

Re: Eliminazione di un file tramite impostazione della sessione

Pubblicato: 5 agosto 2024 - 16:10
di t.heroult
È sorprendente ricevere questo errore durante la configurazione della sessione; dovrai attendere la risposta dell'assistenza :)

Re: Eliminazione di un file tramite impostazione della sessione

Pubblicato: 14 agosto 2024 - 13:22
di sfontenau
Il problema OperationalError('database is locked')

si verifica spesso quando due processi WAPT sono in esecuzione contemporaneamente.

Ad esempio, il servizio potrebbe eseguire un aggiornamento e, allo stesso tempo, si potrebbe eseguire `wapt-get upgrade` dalla riga di comando dell'amministratore.

Di conseguenza, due processi tenteranno di accedere allo stesso database, causando l'errore OperationalError('database is locked').