Il manque effectivement une fonction toute faite pour cela. Je rajoute à setuphelpers.py qq chose comme ça :
def *unset_environ_variable*(name): r"""Remove a system wide persistent environment variable if it exist. Fails silently if it doesn't exist""" import os,_winreg,win32api,win32con with reg_openkey_noredir(HKEY_LOCAL_MACHINE,r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', sam=KEY_READ | KEY_WRITE) as key: result = _winreg.DeleteValue(key,name) # force to get new environ variable, as it is not reloaded immediately. if name in os.environ: del(os.environ[name]) win32api.SendMessage(win32con.HWND_BROADCAST,win32con.WM_SETTINGCHANGE,0,'Environment') return result
en attendant, vous pouvez recopier cette fonction dans votre fichier setup.py et l'appeler dans une fonction
def uninstall(): """Additional work to do after uninstall of application""" *unset_environ_variable*("hpc_LICENSE")
Si une procédure python *uninstall *est définie dans le fichier setup.py, elle est exécutée après les éventuelles procédures de désinstallation mentionnées dans les tableaux uninstallstring ou dans la clé de registre uninstallkey Cela permet de "finir" le travail de désinstallation en retirant les fichiers, raccourcis, clés de registres additionnels en plus du travail réalisé par la procédure du concepteur de l'application
Hubert
Le 19/05/2014 14:15, frédéric VOLPI a écrit :
Bonjour, Nous avons créé un paquet (code ci-dessous) avec la création d'une variable d'environnement. J'arrive à le déinstaller sans problème. Comment je supprime celle-ci ? Merci A+ frédéric VOLPI
# -*- coding: utf-8 -*-
from setuphelpers import *
# registry key(s) where WAPT will find how to remove the application(s)
uninstallkey = ["{8AD71275-DA4C-44ED-B43F-CE8593A5DB85}"]
# command(s) to launch to remove the application(s)
uninstallstring = []
# list of required parameters names (string) which can be used during install
required_params = []
def install():
# if you want to modify the keys depending on environment
(win32/win64... params..)
global uninstallkey global uninstallstring print('installing tis-archiwizardv3.0.1') run(r'"ArchiWIZARD-V3.0.1.msi" /q /norestart') #Création de la variable system print('Création de la variable d\'environnent') set_environ_variable("hpc_LICENSE","5053@srvarchiwizard")
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt