Questo è un server WAPT Enterprise 2.5.4, versione 15342
Su un server CentOS 7 con client Windows 10 22H2
Stamattina abbiamo avuto un grosso problema con un pacchetto importante che avremmo dovuto installare oggi.
Questo pacchetto è stato installato su alcune macchine, ma non su tutte.
Non ho trovato nulla di conclusivo nei log del server o della workstation.
Il pacchetto avrebbe dovuto essere installato oggi, ma l'ho preparato venerdì scorso, quindi ho optato per metterlo
Inoltre, questo errore di battitura è molto frustrante, dato che mi avevi detto che avrebbe dovuto essere "installazione forzata" dopo[/b] il"Forza l'installazione prima del: 20/05/2024 07:00:00
Ecco il codice
Codice: Seleziona tutto
# -*- 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)
Ciò che mi ha subito colpito è che nella sezione Generale Era vuoto (è apparso molto più tardi)
Ho provato a riavviare il servizio e a eseguire un controllo, ma senza successo
Ho modificato il pacchetto per rimuovere "forzare l'installazione prima del"
Ho lanciato la seguente riga di comando:
wapt-get install 118301-XXXXX-2.2.0
Il programma è stato installato correttamente.
Poi ho provato a farlo diversamente su un altro computer.
Ho rimosso il pacchetto, quindi ho cliccato su "Salva e applica", quindi ho reinstallato il pacchetto e ho cliccato su "Salva e applica"
Quindi si tratta di un vecchio pacchetto (Firefox) che risulta NECESSARIO INSTALLARE.
Dopo aver installato quest'ultimo, è apparso il mio pacchetto del giorno 118301-XXXXX-2.2.0, che è andato in NEED INSTALL.
Ho dovuto farlo in alcune posizioni.
Questa è una situazione piuttosto catastrofica, quindi conto davvero sul tuo aiuto, per favore.
Se necessario, ho i registri e i video che posso inviarti privatamente.
