Page 1 sur 1

uninstall and uninstallstring

Posté : 28 sept. 2016 - 13:11
par stenon
Salut,

voici mon code setup.py

c'est un fichier bat pour l'install et ca marche bien et j'essaye de lancer egalement une desinstallation avec un bat et la ca plante ...

lequel de uninstall ou uninstallstring dois je utiliser ? Merci de votre aide !

from setuphelpers import *
uninstallkey = []
uninstallstring = [u'"C:\\FirewallRemoveEsetRule.bat"']

def install():
run(r'"FirewallAddEsetRule.bat"')

def uninstall():
run(u'"FirewallRemoveEsetRule.bat"')

et les erreurs:
2016-09-28 15:09:00,963 WARNING Warning : CalledProcessError: Command '(u'"C:\\FirewallRemoveEsetRule.bat"',)' returned non-zero exit status 1
2016-09-28 15:09:00,986 CRITICAL Error running uninstall script: Command '(u'"FirewallRemoveEsetRule.bat"',)' returned non-zero exit status 1
=== Removed packages ===
allowesetinstall
=== Error removing packages ===
allowesetinstall

Re: uninstall and uninstallstring

Posté : 10 avr. 2017 - 16:32
par Nathanael
Bonjour,
Depuis le temps avez-vous trouver la solution à cette question ?
Nathanaël

Re: uninstall and uninstallstring

Posté : 10 avr. 2017 - 16:58
par agauvrit
Bonjour,
stenon a écrit :

Code : Tout sélectionner

from setuphelpers import *
uninstallkey = []
uninstallstring = [u'"C:\\FirewallRemoveEsetRule.bat"']

def install():
    run(r'"FirewallAddEsetRule.bat"')

def uninstall():
    run(u'"FirewallRemoveEsetRule.bat"')

Lors de l'installation votre script *.bat est bien lancé, aucun soucis, puisque contenu dans votre paquet (j'imagine?)

L'uninstall par contre échoue puisqu'a aucun moment dans la fonction install vous ne copiez-collez ce script à la racine du disque C:\

Si vous souhaitez que cela fonctionne utilisez une copie de fichier avec la fonction filecopyto, ce qui vous permettra d'appeler votre script FirewallRemoveEsetRule.bat lors de la désinstallation.

Le code source deviendrait alors :

Code : Tout sélectionner

from setuphelpers import *
uninstallkey = []

def install():
    run(r'"FirewallAddEsetRule.bat"')
    filecopyto("FirewallRemoveEsetRule.bat","C:\\")

def uninstall():
    run(u'"C:\\FirewallRemoveEsetRule.bat"')
Cordialement,

Alexandre

Re: uninstall and uninstallstring

Posté : 22 avr. 2017 - 12:55
par stenon
Merci

entre temps j'avais fait un deuxieme paquet wapt qui appelait le remove.bat

Mais un grand MERCI pour votre explication et votre reponse claire !

PS: tres tres bien la video live cast, on a l'air de vous connaitre mieux maintenant.