[Wapt] Supprimer une variable d'environnement
Hubert TOUVET
htouvet at tranquil.it
Mon May 19 15:55:30 CEST 2014
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 at srvarchiwizard")
>
>
> _______________________________________________
> WAPT mailing list
> WAPT at lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tranquil.it/pipermail/wapt/attachments/20140519/def0fec8/attachment.html>
More information about the WAPT
mailing list