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