Página 1 de 1

[RESUELTO] función de desinstalación def

Publicado: 10 de octubre de 2023 - 15:21
por JPBUTT
Hola,
estoy intentando entender cómo funciona la función `uninstall`.
¿Cómo recupera el paquete el script definido en `uninstall`
si en la función donde se almacena se define un ejecutable o una clave de registro? Porque al desinstalar un paquete desde la consola, no se vuelve a descargar.
Probé con el servicio de autoservicio de WAPT sin iniciar sesión y el paquete se desinstaló correctamente.
Si tienen alguna información que puedan compartir,

se lo agradecería

Re: función de desinstalación definida

Publicado: 12 de octubre de 2023 - 09:09
por Benoit
Buen día,

No hay funciones específicas para la desinstalación en todos los paquetes.

Dependiendo de lo que quieras desinstalar, el método será diferente.

Por ejemplo, para desinstalar un ejecutable, encontrará una clave de desinstalación en la consola wapt después de instalar su software.
Esta clave de desinstalación corresponde a una clave de registro que puedes encontrar en regedit.
Dentro de esta clave de registro, encontrará una línea 'uninstallstring' que apunta al comando de desinstalación. Existe una función llamada 'uninstall_cmd()' en el módulo setuphelpers que le permite usar esta clave de desinstalación.
Imagen

Pero esto no siempre funciona. A veces es necesario ejecutar el comando de desinstalación directamente dentro del script mediante un subproceso.

Código: Seleccionar todo

command = 'MsiExec.exe /X{00000022-9040-3CA8-8868-36F59DEFD14D} /qn'

def uninstall():
    # Exécute la commande de désinstallation
    subprocess.run(command, shell=True)
    print(name_software+" a été désinstallé")
Para desinstalar una aplicación portátil, deberá eliminar toda la carpeta y los accesos directos del escritorio.

Espero que esto te haya ayudado.

Saludos,

Re: función de desinstalación definida

Publicado: 12 de octubre de 2023 - 16:27
por JPBUTT
Hola,
gracias por tu respuesta, pero mi pregunta es:
¿Cómo y cuándo se ejecuta la definición de desinstalación de scrypt?

Por ejemplo, si se encuentra en un script de desinstalación con un archivo de desinstalación, se modifican las claves del registro y se elimina una carpeta
. ¿Dónde se almacena esto?

Re: función de desinstalación definida

Publicado: 12 de octubre de 2023 - 17:38
por dcardon
Hola Jean-Philippe,

el script setup.py se almacena en la base de datos SQLite local del servicio WAPT (c:\program files (x86)\wapt\db\waptdb.sqlite).

El paquete de instalación no se conserva después de la instalación (de lo contrario, consumiría demasiado espacio).

Por lo tanto, si necesitas recursos para la desinstalación, debes almacenarlos en algún lugar donde se puedan recuperar durante la desinstalación (ya sea un directorio "persistente" o el propio directorio de la aplicación).

Saludos,

Denis

Re: función de desinstalación definida

Publicado: 13 de octubre de 2023 - 11:13 a. m.
por JPBUTT
Hola,
gracias por tus comentarios.
Ahora entiendo mejor cómo funciona.