Página 1 de 1

[RESUELTO] Desinstalar software heredado de la máquina

Publicado: 22 de enero de 2018 - 18:29
por empbilly
Hola wapters,

me pregunto si con wapt puedo desinstalar un software que ya estaba en el ordenador antes de instalar el cliente.

Re: Desinstalar software heredado de la máquina

Publicado: 22 de enero de 2018 - 20:29
por sfonteneau
Sí, aquí hay un código de muestra:

https://www.wapt.fr/es/doc/CreationPaqu...-logiciels

Código: Seleccionar todo

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))

Re: Desinstalar software heredado de la máquina

Publicado: 22 de enero de 2018 - 21:04
por empbilly
sfonteneau escribió: 22 de enero de 2018 - 20:29 Sí, aquí hay un código de muestra:

https://www.wapt.fr/es/doc/CreationPaqu...-logiciels

Código: Seleccionar todo

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))
Perdón por la pregunta, pero ¿ejecuto este código en algún lugar o lo guardo como un paquete wapt y lo vinculo a la computadora o nada de esto?

Re: Desinstalar software heredado de la máquina

Publicado: 22 de enero de 2018 - 21:18
por sfonteneau
Como dijiste, necesitas crear un paquete wapt que desinstalará el software.

Re: Desinstalar software heredado de la máquina

Publicado: 22 de enero de 2018 - 21:48
por empbilly
sfonteneau escribió: 22 de enero de 2018 - 21:18 Como dijiste, necesitas crear un paquete wapt que desinstale el software.
Está bien. ¿Te gusta esto?

configuración.py

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey=[]

def install():

    softname = 'firefox'
    check_installed_soft = installed_softwares(softname)
    if check_installed_soft:
             for uninstall in check_installed_soft:
                key=uninstall['1233A4A7-BA0B-4067-BE21-FB97AFABC0CF']
                if installed_softwares(uninstallkey=key):
                         run(WAPT.uninstall_cmd(uninstall['key']))

Re: Desinstalar software heredado de la máquina

Publicado: 22 de enero de 2018 - 22:00
por sfonteneau
Tu código funciona. Propongo simplificarlo:

Código: Seleccionar todo

def install():
    if uninstall_key_exists('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'):
        run(WAPT.uninstall_cmd('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'))

Re: Desinstalar software heredado de la máquina

Publicado: 23 de enero de 2018 - 12:25 p. m.
por empbilly
sfonteneau escribió: 22 de enero de 2018 - 22:00 Tu código funciona. Propongo simplificarlo:

Código: Seleccionar todo

def install():
    if uninstall_key_exists('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'):
        run(WAPT.uninstall_cmd('1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'))
Sfonteneau,

Esta "clave" es el valor que se encuentra en la columna "Clave de desinstalación" del Inventario de software en la consola wapt, ¿verdad?

Re: Desinstalar software heredado de la máquina

Publicado: 23 de enero de 2018 - 12:41
por sfonteneau
empbilly escribió: 23 de enero de 2018 - 12:25 Esta "clave" es el valor que se encuentra en la columna "Clave de desinstalación" del Inventario de software en la consola wapt, ¿verdad?
¡Sí!
También puedes encontrar la clave de desinstalación con este comando: https://www.wapt.fr/en/doc/Utilisation/ ... t-registry

El segundo código que te proporcioné te permite desinstalar el software que tiene la clave de desinstalación "'1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'"



El siguiente código le permite desinstalar todo el software que utiliza la palabra "winscp" en la información de su clave de desinstalación.

Código: Seleccionar todo

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))

Re: Desinstalar software heredado de la máquina

Publicado: 23 de enero de 2018 - 13:35
por empbilly
sfonteneau escribió: 23 de enero de 2018 - 12:41
empbilly escribió: 23 de enero de 2018 - 12:25 Esta "clave" es el valor que se encuentra en la columna "Clave de desinstalación" del Inventario de software en la consola wapt, ¿verdad?
¡Sí!
También puedes encontrar la clave de desinstalación con este comando: https://www.wapt.fr/en/doc/Utilisation/ ... t-registry

El segundo código que te proporcioné te permite desinstalar el software que tiene la clave de desinstalación "'1233A4A7-BA0B-4067-BE21-FB97AFABC0CF'"



El siguiente código le permite desinstalar todo el software que utiliza la palabra "winscp" en la información de su clave de desinstalación.

Código: Seleccionar todo

for soft in installed_softwares('winscp3'):
                run(WAPT.uninstall_cmd(soft['key']))
¡¡¡Ahora funciona!!! ¡Gracias por la ayuda, Sfonteneau! :)

El código para desinstalar solo con la clave, no funcionó, pero con el código anterior, ¡funciona de maravillas!

Al final el código es así:

Código: Seleccionar todo

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey=[]

def install():
	for soft in installed_softwares('old_version_of_firefox'):
                run(WAPT.uninstall_cmd(soft['key']))
Para los nuevos usuarios, recuerden crear o copiar los archivos "control" y "wapt.psproj" y colocarlos dentro de la carpeta "WAPT" en la raíz del paquete, es decir junto con el archivo "setup.py".

Después de eso, debes construir el paquete con el siguiente comando:

Código: Seleccionar todo

wapt-get build-package <path of the files>
es decir.:

Código: Seleccionar todo

wapt-get build-package c:\waptdev\test-remove-firefox