Página 1 de 1

desinstalar y desinstalar cadena

Publicado: 28 de septiembre de 2016 - 13:11
por Stenon
Hola,

aquí está mi código setup.py.

Es un archivo por lotes para la instalación y funciona correctamente. También estoy intentando ejecutar una desinstalación con un archivo por lotes, pero falla...

¿Qué debo usar, `uninstall` o `uninstallstring`? ¡Gracias por su ayuda!

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

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

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

y errores:
2016-09-28 15:09:00,963 ADVERTENCIA Advertencia: CalledProcessError: El comando '(u'"C:\\FirewallRemoveEsetRule.bat"',)' devolvió un estado de salida distinto de cero 1
2016-09-28 15:09:00,986 CRÍTICO Error al ejecutar el script de desinstalación: El comando '(u'"FirewallRemoveEsetRule.bat"',)' devolvió un estado de salida distinto de cero 1
=== Paquetes eliminados ===
allowesetinstall
=== Error al eliminar paquetes ===
permitir la instalación

Re: desinstalar y uninstallstring

Publicado: 10 de abril de 2017 - 16:32
por Natanael
Hola,
¿has encontrado alguna solución a esta pregunta desde entonces?
Nathanael

Re: desinstalar y uninstallstring

Publicado: 10 de abril de 2017 - 16:58
por agauvrit
Buen día,
Stenon escribió:

Código: Seleccionar todo

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

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

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

Durante la instalación, su script *.bat se ejecuta correctamente, no hay problema, ya que está incluido en su paquete (¿supongo?)

Sin embargo, la desinstalación falla porque en ningún momento de la función de instalación se copia y pega este script en la raíz de la unidad C:\

Si desea que esto funcione, utilice una copia de archivo con la función copia de archivo aque te permitirá llamar a tu script CortafuegosEliminarEsetRule.bat durante la desinstalación.

El código fuente quedaría entonces así:

Código: Seleccionar todo

from setuphelpers import *
uninstallkey = []

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

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

Alejandro

Re: desinstalar y uninstallstring

Publicado: 22 de abril de 2017 - 12:55 p. m.
por Stenon
Gracias,

mientras tanto había creado un segundo paquete wapt que ejecutaba remove.bat.

¡Muchísimas gracias por tu explicación y tu respuesta

tan clara! PD: El vídeo de la retransmisión en directo fue excelente; ahora te conocemos mejor.