Página 1 de 1

Comprobación de la instalación

Publicado: 27 de octubre de 2018 - 19:36
por Mathieu
- Versión WAPT instalada (1.6.2.7 Enterprise)
- Sistema operativo del servidor (Linux) y versión (Debian Strech)
- Sistema operativo de la máquina de administración/creación de paquetes (Windows 10)


Buen día,

Pronto implementaremos WAPT en nuestro parque, sin embargo estoy encontrando un problema con algunos de mis paquetes.

Algunos de mis paquetes tienen líneas de comando después de la instalación (run o install_exe_if_needed) para copiar archivos, crear claves de registro, etc
Para evitar reescribir ciertos datos y perder la configuración en máquinas ya instaladas, copié parte del código de un paquete para verificar que el software esté correctamente instalado.

Probé varios métodos pero algunos paquetes no se instalan

1.

Código: Seleccionar todo

def install():

    global uninstallkey
    from common import Wapt

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    Software = [ soft for soft in installed_softwares(softname) if Version(soft['version']) < Version('12.0.6002.5') ]

    if Software:
        print('installing futur-DameWareRS')
        run('DameWareRS.exe /args "/qn reboot=reallysuppress SILENT=yes INSTALLSTANDALONE=0 CENTRALSERVERHOSTNAME=*****.****.***.fr CENTRALSERVERPORT=6133"')
    else:
        print('already installed')
2.

Código: Seleccionar todo

def install():

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    
    if not check_installed_out:
        print('installing futur-DameWareRS')
        run('DameWareRS.exe /args "/qn reboot=reallysuppress SILENT=yes INSTALLSTANDALONE=0 CENTRALSERVERHOSTNAME=*****.*****.****.fr CENTRALSERVERPORT=6133"')
    else:
        print('already installed')
Prefiero el código 1 porque comprueba la versión instalada, así que si necesito actualizar el software, no se actualizará porque detectará que ya está instalado. Sin embargo, tengo un problema: al desinstalar el software y probar el script, solo imprime el resultado.

Cuando imprimo mi variable, está vacía; mi script debería realizar la instalación.

¿Tiene un método más simple para realizar la implementación en estaciones de trabajo ya instaladas?

Me comunico con usted porque he estado devanándome los sesos durante varias semanas tratando de encontrar una solución y la fecha de lanzamiento de la producción se acerca rápidamente

Gracias.

Re: Comprobación de la instalación

Publicado: 28 de octubre de 2018 - 14:58
por sfonteneau
Tu primer código debería funcionar; no veo ningún error.

Sin embargo, verifica que la versión del software instalado sea inferior a 12.0.6002.5.

Re: Comprobación de la instalación

Publicado: 1 de noviembre de 2018 - 10:43 a. m.
por Mathieu
Sin embargo, mantuve la solución 1, pero, por ejemplo, con otro programa, no se instala nada aunque el software no esté presente en la máquina; la variable `Software` está vacía.

Al ejecutar `print`, obtengo `[]` como resultado.

El comando funciona correctamente para comprobar la máquina, pero para una nueva instalación no sucede nada, aunque debería instalarse, ya que no detecta el software.

Re: Comprobación de la instalación

Publicado: 5 de noviembre de 2018 - 10:16 a. m.
por Mathieu
Creo que he encontrado una solución, pero no estoy seguro

Estoy haciendo dos comprobaciones y por el momento está funcionando

Código: Seleccionar todo

def install():

    global uninstallkey
    from common import Wapt

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    Software = [ soft for soft in installed_softwares(softname) if Version(soft['version']) < Version('12.1.0.34') ]

    if Software or not check_installed_out:

Re: Comprobación de la instalación

Publicado: 5 de noviembre de 2018 - 14:31
por sfonteneau
¿Por qué no usar `install_exe_if_needed` en lugar de `run`?

Ya realiza todas estas comprobaciones. (Si es necesario, copie y pegue la función `install_exe_if_needed`)

https://github.com/tranquilit/WAPT/blob ... s.py#L4152

Re: Comprobación de la instalación

Publicado: 5 de noviembre de 2018 - 14:40
por Mathieu
Para algunos archivos .exe o .msi, esta solución no funciona, por lo que opté por un comando de ejecución.

Disponemos de ciertos comandos para configurar el software (configuración ODBC, copia de archivos de configuración, etc.). Sin verificación, incluso con `install_exe_if_needed`, el paquete ejecutará los comandos de configuración. Quiero evitar que se modifiquen las configuraciones.

Por eso busco una forma de comprobar si el software está instalado en el equipo, pero ejecutar el paquete solo si no lo está.