Page 1 sur 1

Suppression d'un fichier via session setup

Posté : 05 août 2024 - 14:39
par jorico
Bonjour à tous,

J'essaie de créer un paquet pour l'installation de l'application Asana, l'application doit s'installer dans l'en utilisateur j'utilise donc un session setup:

setup.py

Code : Tout sélectionner

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

Cependant le binaire déposé dans C:\temp ne se supprime pas à la fin du session setup, avez vous une idée de mon erreur ?

Merci à tous pour votre aide :)

Re: Suppression d'un fichier via session setup

Posté : 05 août 2024 - 15:42
par t.heroult
Bonjour
Question idiote, mais est-ce que l'utilisateur a le droit de supprimer un fichier du dossier temp ?
Il ne faut pas oublier que le session-setup se fait avec les droits de l'utilisateur en cours.

Re: Suppression d'un fichier via session setup

Posté : 05 août 2024 - 15:52
par jorico
t.heroult a écrit : 05 août 2024 - 15:42 Bonjour
Question idiote, mais est-ce que l'utilisateur a le droit de supprimer un fichier du dossier temp ?
Il ne faut pas oublier que le session-setup se fait avec les droits de l'utilisateur en cours.
Bonjour t.heroult,

Merci pour ta question effectivement je n'avais pas pris en compte ce point. L'utilisateur à lien le droit de supprimer le fichier dans le dossier C:\temp

Je viens de regarder, j'ai une erreur après l'installation:

CRITICAL Exception: The database is locked. There is probably another WAPT process currently running (WaptAgent, WaptSelfService, wapt-get, waptpython.exe). Please check running processes. Error: OperationalError('database is locked')

Re: Suppression d'un fichier via session setup

Posté : 05 août 2024 - 16:10
par t.heroult
C'est étonnant d'avoir cette erreur pendant le session-setup, il va falloir attendre que le support te réponde :)

Re: Suppression d'un fichier via session setup

Posté : 14 août 2024 - 13:22
par sfonteneau
Le problème OperationalError('database is locked')

surviens souvent lorsque deux process wapt sont en concurance.

par exemple le service est en train de faire un update et au même moment vous lancer un wapt-get upgrade en ligne de commande admin.

Deux process essaie donc d’accéder a la même db et donc : OperationalError('database is locked')