Página 1 de 2

Paquete Stormshield

Publicado: 2 de enero de 2024 - 10:26 a. m.
por kokoss22
Buen día,

Estoy intentando crear un paquete de desinstalación para la aplicación SSL del cliente VPN de Stormshield. Nuestra versión WAPT (versión Enterprise 2.4.0.14143)

La particularidad de esta VPN es que la aplicación se implementó mediante la directiva de grupo un tiempo antes de la implementación de WAPT. Disponemos de varias versiones del cliente Stormshield en nuestra red. El script de desinstalación funciona correctamente hasta la versión 2.8.

Intenté configurar un segundo script de desinstalación para versiones superiores a la 2.8, pero tengo un problema porque la aplicación se instaló en la sesión del usuario (que no tiene permisos de administrador). Aquí está el script:

Código: Seleccionar todo

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

uninstallkey = []

def install():
   pass

def session_setup():
for to_uninstall in installed_softwares(name=r"Stormshield SSL VPN Client"):
   if Version(to_uninstall["version"]) < Version('3.4') or force:
   print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
   killalltasks(control.impacted_process.split(","))
   run(r"MsiExec.exe /X{'clé'} /qn")
El script se inicia correctamente, pero aparece una ventana solicitando derechos de administrador.

Estoy atascado en este paso

Gracias por su ayuda

Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 10:40 a. m.
por sfonteneau
¿Por qué iniciar la desinstalación en session_setup y no la instalación?

Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 10:56 a. m.
por kokoss22
Gracias por tu rápida respuesta.

Intenté hacerlo directamente desde def_install() pero el script no funciona.

Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 11:15 a. m.
por sfonteneau
¿Un código de retorno o algo más?

Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 13:19
por kokoss22
Sí, aquí está el comentario que recibí:

Código: Seleccionar todo

File "C:\\Program Files (x86)\\wapt\\common.py", line 4083, in install_wapt
    exitstatus = setup.install()
  File "C:\\WINDOWS\\TEMP\\waptpyvay117\\setup.py", line 11, in install
  File "C:\\Program Files (x86)\\wapt\\common.py", line 3860, in run
    return ensure_unicode(run(*arg, pidlist=self.pidlist,**args))
  File "C:\\Program Files (x86)\\wapt\\waptutils.py", line 2118, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, \'\'.join(output))
waptutils.CalledProcessErrorOutput: Command \'MsiExec.exe /X{D76AA950-B963-4FF9-A389-01861A32876A} /qn\' returned non-zero exit status 1605.
Output:C\x00e\x00t\x00t\x00e\x00 \x00a\x00c\x00t\x00i\x00o\x00n\x00 \x00e\x00s\x00t\x00 \x00v\x00a\x00l\x00i\x00d\x00e\x00 \x00u\x00n\x00i\x00q\x00u\x00e\x00m\x00e\x00n\x00t\x00 \x00p\x00o\x00u\x00r\x00 \x00l\x00e\x00s\x00 \x00p\x00r\x00o\x00d\x00u\x00i\x00t\x00s\x00 \x00d\x00Ú\x00j\x00Ó\x00 \x00i\x00n\x00s\x00t\x00a\x00l\x00l\x00Ú\x00s\x00.\x00
\x00\r\x00
']]
Cuando ejecuto msiexec desde la estación de trabajo, me solicita derechos de administrador para continuar con la desinstalación

Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 14:13
por sfonteneau
El código de error es 1605

http://msdn.microsoft.com/fr-fr/library ... s.85).aspx

Entonces ERROR_PRODUCTO_DESCONOCIDO

En mi opinión, el proceso de desinstalación elimina varias entradas a la vez, así que puedes corregir tu paquete usando `uninstall_key_exists`. Si la clave ya no existe, continúa; esto evita desinstalar software ya desinstalado

Código: Seleccionar todo

from setuphelpers import *

uninstallkey = []

def install():
    for to_uninstall in installed_softwares(name=r"Stormshield SSL VPN Client"):
        if not uninstall_key_exists(to_uninstall['key']):
            continue
        if Version(to_uninstall["version"]) < Version('3.4') or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(control.impacted_process.split(","))
            run(uninstall_cmd(to_uninstall['key']))


Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 14:28
por kokoss22
Sigo recibiendo el mismo error

Código: Seleccionar todo

Installing paquet(=0-19)
Removing: Stormshield SSL VPN Client (3.2.3)
Erreur lors de l'installation de ['paquet']: erreurs dans les paquets [[PackageRequest(package='paquet',architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.22621'),max_os_version=Version('10.0.22621')), PackageEntry('paquet','0-19'), 'Traceback (most recent call last):
 File "C:\\Program Files (x86)\\wapt\\common.py", line 5192, in install
 result = self.install_wapt(p.localpath,
 File "C:\\Program Files (x86)\\wapt\\common.py", line 4176, in install_wapt
 raise e
 File "C:\\Program Files (x86)\\wapt\\common.py", line 4083, in install_wapt
 exitstatus = setup.install()
 File "C:\\WINDOWS\\TEMP\\waptai4rekuu\\setup.py", line 13, in install
 File "C:\\Program Files (x86)\\wapt\\common.py", line 3860, in run
 return ensure_unicode(run(*arg, pidlist=self.pidlist,**args))
 File "C:\\Program Files (x86)\\wapt\\waptutils.py", line 2118, in run
 raise CalledProcessErrorOutput(proc.returncode, cmd, \'\'.join(output))
waptutils.CalledProcessErrorOutput: Command [\'MsiExec.exe\', \'/X{D76AA950-B963-4FF9-A389-01861A32876A}\', \'/q\', \'/norestart\'] returned non-zero exit status 1605.
Output:C\x00e\x00t\x00t\x00e\x00 \x00a\x00c\x00t\x00i\x00o\x00n\x00 \x00e\x00s\x00t\x00 \x00v\x00a\x00l\x00i\x00d\x00e\x00 \x00u\x00n\x00i\x00q\x00u\x00e\x00m\x00e\x00n\x00t\x00 \x00p\x00o\x00u\x00r\x00 \x00l\x00e\x00s\x00 \x00p\x00r\x00o\x00d\x00u\x00i\x00t\x00s\x00 \x00d\x00Ú\x00j\x00Ó\x00 \x00i\x00n\x00s\x00t\x00a\x00l\x00l\x00Ú\x00s\x00.\x00
\x00\r\x00
']]
Traceback (most recent call last):
File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1910, in run
self.running_task.run()
File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 716, in run
self._run()
File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1288, in _run
raise Exception(_('Error during install of {}: errors in packages {}').format(

Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 17:51
por sfonteneau
Microsoft devuelve correctamente:

Código: Seleccionar todo

ERROR_UNKNOWN_PRODUCT

    1605 (0x645)

    Cette action est valide uniquement pour les produits déjà installés.
Así que, un escenario extraño.

Si ejecuta el comando:

Código: Seleccionar todo

MsiExec.exe /X{D76AA950-B963-4FF9-A389-01861A32876A}
¿Funciona en la máquina si llegas hasta el final?

Re: Paquete Stormshield

Publicado: 2 de enero de 2024 - 19:59
por kokoss22
Sí,

ya lo había probado antes; tengo que introducir las credenciales de administrador, pero una vez hecho esto, el comando funciona.

Gracias.

Re: Paquete Stormshield

Publicado: 3 de enero de 2024 - 15:25
por sfonteneau
Deberías intentar ejecutar el comando en psexec:

Código: Seleccionar todo

psexec -s -i cmd
y en el símbolo del sistema, en la cuenta del sistema, ejecute el comando