<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix"><br>
Il manque effectivement une fonction toute faite pour cela.<br>
Je rajoute à setuphelpers.py qq chose comme ça : <br>
<br>
<tt>def <b>unset_environ_variable</b>(name):</tt><tt><br>
</tt><tt> r"""Remove a system wide persistent environment
variable if it exist. Fails silently if it doesn't exist"""</tt><tt><br>
import os,_winreg,win32api,win32con<br>
</tt><tt> with
reg_openkey_noredir(HKEY_LOCAL_MACHINE,r'SYSTEM\CurrentControlSet\Control\Session
Manager\Environment',</tt><tt><br>
</tt><tt> sam=KEY_READ | KEY_WRITE) as key:</tt><tt><br>
</tt><tt> result = _winreg.DeleteValue(key,name)</tt><tt><br>
</tt><tt> # force to get new environ variable, as it is not
reloaded immediately.</tt><tt><br>
</tt><tt> if name in os.environ:</tt><tt><br>
</tt><tt> del(os.environ[name])</tt><tt><br>
</tt><tt>
win32api.SendMessage(win32con.HWND_BROADCAST,win32con.WM_SETTINGCHANGE,0,'Environment')</tt><tt><br>
</tt><tt> return result</tt><br>
<br>
en attendant, vous pouvez recopier cette fonction dans votre
fichier setup.py et l'appeler dans une fonction<br>
<br>
<tt>def uninstall():</tt><tt><br>
"""Additional work to do after uninstall of application"""<br>
</tt><tt> <b>unset_environ_variable</b>("hpc_LICENSE")</tt><tt><br>
</tt><br>
Si une procédure python <b>uninstall </b>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<br>
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<br>
<br>
Hubert<br>
<br>
Le 19/05/2014 14:15, frédéric VOLPI a écrit :<br>
</div>
<blockquote cite="mid:5379F5D1.8080607@ac-nantes.fr" type="cite">Bonjour,
<br>
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 ?
<br>
Merci
<br>
A+
<br>
frédéric VOLPI
<br>
<br>
<br>
# -*- coding: utf-8 -*-
<br>
<br>
from setuphelpers import *
<br>
<br>
# registry key(s) where WAPT will find how to remove the
application(s)
<br>
<br>
uninstallkey = ["{8AD71275-DA4C-44ED-B43F-CE8593A5DB85}"]
<br>
<br>
# command(s) to launch to remove the application(s)
<br>
<br>
uninstallstring = []
<br>
<br>
# list of required parameters names (string) which can be used
during install
<br>
<br>
required_params = []
<br>
<br>
def install():
<br>
<br>
# if you want to modify the keys depending on environment
(win32/win64... params..)
<br>
<br>
global uninstallkey
<br>
<br>
global uninstallstring
<br>
<br>
print('installing tis-archiwizardv3.0.1')
<br>
<br>
run(r'"ArchiWIZARD-V3.0.1.msi" /q /norestart')
<br>
<br>
#Création de la variable system
<br>
<br>
print('Création de la variable d\'environnent')
<br>
<br>
set_environ_variable("hpc_LICENSE","5053@srvarchiwizard")
<br>
<br>
<br>
_______________________________________________
<br>
WAPT mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:WAPT@lists.tranquil.it">WAPT@lists.tranquil.it</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.tranquil.it/listinfo/wapt">http://lists.tranquil.it/listinfo/wapt</a>
<br>
</blockquote>
<br>
</body>
</html>