Página 1 de 1

[RESUELTO] No se tiene en cuenta la adición de dependencia (paquete)

Publicado: 21 de mayo de 2024 - 08:28
por yann83
Buen día

Este es un servidor WAPT Enterprise 2.5.4, versión 15342
En un servidor CentOS 7 con clientes Windows 10 22H2

Gran problema esta mañana con un paquete importante que debíamos instalar hoy.
Este paquete se instaló en algunas máquinas, pero no en todas.
No vi nada concluyente en los registros del servidor o de la estación de trabajo.

El paquete debía instalarse hoy, pero lo preparé el viernes pasado, así que opté por ponerlo
Forzar la instalación antes de: 2024/05/20 07:00:00
Además, este problema tipográfico es muy frustrante ya que me dijiste que debería decir "instalación forzada" después[/b] el"

Aquí está el código

Código: Seleccionar todo

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

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables
# are not persistent between calls
import collections
import os


def count_lines(filename, maxlines=10):
    with open(filename, 'r') as file:
        lines = file.readlines()
    ilines = len(lines)
    if 0 < ilines < maxlines:
        return ilines
    elif ilines > maxlines:
        return maxlines
    else:
        return 0


def read_last_n_lines(filename, n=10):
    with open(filename, 'r') as file:
        lines = collections.deque(file, n)
    return list(lines)


# -------- A modifier --------
Nom_du_programme = 'Proweb'
setup_exe = 'Setup_XXXXX_02.02.00.exe'
version = '02.02.00'
exe_a_tuer = 'XXXXX.exe'
chemin_exe_deinstall = 'C:\\APP\\XXXXX\\unins000.exe'
cle_registre = '{8FB44C2D-8A13-4529-8544-54BFF7D76D9A}_is1'
log_installation = 'C:\\LOG\\WAPT_Install_' + Nom_du_programme + '.log'
log_desinstallation = 'C:\\LOG\\WAPT_Uninstall_' + Nom_du_programme + '.log'
parametres_installation = '/SP- /VERYSILENT /SUPPRESSMSGBOXES /LOG=' + log_installation
parametres_desinstallation = '/VERYSILENT /SUPPRESSMSGBOXES /LOG=' + log_desinstallation
fichier_verification ='C:\\APP\\XXXXX\\XXXXX.exe'

def install():
    # Declaring local variables

    # Proweb est il déjà installé ?
    if os.path.exists(fichier_verification):

        # Installing the software
        print("Installing: " + Nom_du_programme)
        install_exe_if_needed(setup_exe,
                              silentflags=parametres_installation,
                              key=cle_registre,
                              min_version=version,
                              killbefore=[exe_a_tuer]
                              )

        if os.path.exists(log_installation):
            nbLines = count_lines(log_installation)
            if nbLines > 0:
                for line in read_last_n_lines(log_installation, 25):
                    print(line.strip())
        else:
            print('pas de log ici : ' + log_installation)
    else:
        print('logiciel ' + Nom_du_programme + ' non présent pas de mise à jour.')
        exit(1)


def uninstall():
    run(r'"' + chemin_exe_deinstall + '" ' + parametres_desinstallation)

    if os.path.exists(log_desinstallation):
        nbLines = count_lines(log_desinstallation)
        if nbLines > 0:
            for line in read_last_n_lines(log_desinstallation, nbLines):
                print(line.strip())
    else:
        print('pas de log ici : ' + log_desinstallation)
Entonces inicié sesión en esa computadora en particular.
Lo que me llamó la atención inmediatamente fue que en la sección General Estaba vacío (apareció mucho después)
Intenté reiniciar el servicio y realizar una auditoría, pero sin éxito
Modifiqué el paquete para eliminar el "Forzar la instalación antes de la"

Lancé la siguiente línea de comando:
wapt-get instalar 118301-XXXXX-2.2.0

El programa se instaló exitosamente.

Luego lo probé de manera diferente en otra computadora.
Eliminé el paquete, hice clic en "Guardar y aplicar", luego reinstalé el paquete y hice clic en "Guardar y aplicar"
Entonces es un paquete antiguo (Firefox) que aparece como NECESITA INSTALACIÓN.
Luego de instalar este último, apareció mi paquete del día 118301-XXXXX-2.2.0 y pasó a NECESITA INSTALACIÓN.
Tuve que hacer eso en algunas posiciones.

Esta es una situación bastante catastrófica, por lo que realmente cuento con tu ayuda, por favor.

Si es necesario tengo los logs y videos que puedo enviarte de forma privada.

Re: [RESUELTO] No se tiene en cuenta la adición de dependencia (paquete)

Publicado: 23 de mayo de 2024 - 07:14
por yann83
El soporte técnico me ayudó:

el problema radicaba en el incremento entre los números de versión de los paquetes de la máquina.
Durante la migración, es probable que los paquetes de la máquina no se hayan transferido, lo que provocó que los números de versión se restablecieran a 0.
Dado que las nuevas versiones de los paquetes de la máquina ya no eran superiores a la versión instalada, las estaciones de trabajo no instalaban las nuevas dependencias.