[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