Proceso de desinstalación

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
gvdbe.fr
Mensajes: 2
Inscripción: 22 de febrero de 2018 - 19:02

22 de febrero de 2018 - 19:21

wapt-get 1.3.13.0

Buenas noches,
creé un paquete que copia un archivo .exe a un directorio sin requerir permisos especiales y luego crea una clave de registro.

Había incluido todos los pasos de desinstalación en el procedimiento "def uninstall()", pero estoy obteniendo un error de "archivo no encontrado".

Cuando comenté mis acciones en "def uninstall", me sorprendió y solo me di cuenta después de que simplemente definir el procedimiento 'uninstall' sin ninguna acción elimina el archivo .exe y la clave de registro, e intenta eliminar el directorio.
¡Me sorprende que el paquete conozca todas estas acciones! Me preguntaba si podría haber una caché del paquete. Purgar con wapt-get clean and update no cambia nada. Purgar el paquete del repositorio tampoco ayuda.

Problema en ambas variantes de mi paquete, con o sin acción en "def uninstall", sigo obteniendo una alerta que hace que el proceso de desinstalación falle, que aún está incompleto, la eliminación del directorio, y aparentemente la desinstalación no puede hacerlo.

Eliminando espacio en disco...
2018-02-22 19:07:34,961 ADVERTENCIA error: (2, 'GetFileVersionInfo:GetFileVersionInfoSize', 'El sistema no puede encontrar el archivo especificado.')
2018-02-22 19:07:34,964 ADVERTENCIA error: (2, 'GetFileVersionInfo:GetFileVersionInfoSize', 'El sistema no puede encontrar el archivo especificado.')
2018-02-22 19:07:34,967 ADVERTENCIA error: (2, 'GetFileVersionInfo:GetFileVersionInfoSize', 'El sistema no puede encontrar el archivo especificado.')
2018-02-22 19:07:34,969 CRÍTICO Error al ejecutar el script de desinstalación: [Errno 2] No existe tal archivo o directorio: 'DiskSpace.exe'
=== Paquetes eliminados ===
en disco
=== Error al eliminar paquetes ===
espacio en disco

Esto es lo que tengo en mi desinstalación:
def uninstall():
print('desinstalando GRDF-DiskSpace')
# killalltasks('DiskSpace.exe')
# registry_delete(HKEY_LOCAL_MACHINE, r'software\Microsoft\Windows\CurrentVersion\Run','DiskSpace')
# time.sleep(5)
# if isdir(DiskSpacePath):
# remove_tree(DiskSpacePath,ignore_errors=True)

¿Alguien tiene alguna idea?
gvdbe.fr
Mensajes: 2
Inscripción: 22 de febrero de 2018 - 19:02

23 de febrero de 2018 - 17:15

De hecho, encontré el problema. Son las funciones makepath las que están causando el problema...
como por ejemplo: makepath('C:\MyDirectory','DiskSpace')
Avatar de usuario
htouvet
Experto en WAPT
Mensajes: 436
Inscripción: 16 de marzo de 2015 - 10:48
Contacto :

23 de febrero de 2018 - 17:29

En Python (y otros lenguajes), el carácter '\' en una cadena permite codificar saltos de línea, por ejemplo, '\n'.

Para evitar que Python interprete las barras invertidas, debe agregar un prefijo 'r' (cadenas sin formato)
Si hay caracteres acentuados, generalmente es necesario especificar una cadena Unicode (prefijo 'u')

Código: Seleccionar todo

makepath(ur'C:\MonRépertoire','DiskSpace')
TI tranquila
Bloqueado