Page 1 sur 1

waptupgrade parfois inopérant

Posté : 24 juin 2016 - 15:09
par eduret
Bonjour,
Je viens partager avec vous un problème dont je n'ai pas trouvé l'origine pour l'instant.
J'ai migré de version 1.2.3 en 1.3.5 et j'ai ajouté le paquet waptupgrade pour tous les postes à migrer. Or la mise à jour ne s'effectue pas pour tout le parc :
- pas d'erreur dans la console, le paquet s'est bien installé (en réalité c'est la tâche programmée qui s'est bien enregistrée)
- le client est toujours en 1.2.3

En simulant ce que fait la tâche programmée sur un poste récalcitrant (W8.1 -> les extraits sont ci-dessous), je m’aperçoit que le paramètre non documenté --temporary provoque un bug.
Avez vous remarqué ce dysfonctionnement ? Peut-on enlever ce paramètre sans effet de bord ?
Merci de vos lumières.

-> à l'origine :
2016-06-24 13:55:24,260 INFO Run "('schtasks /Create /SC ONCE /TN "fullwaptupgrade" /TR "\'c:\\users\\eduret\\appdata\\local\\temp\\waptdeploy.exe\' --hash=84e175cf5f5318efbac05403b61e78c7175a039bd2e0422e563d4f317e04f1b6 --waptsetupurl=c:\\users\\eduret\\appdata\\local\\temp\\waptagent.exe --wait=15 --temporary --force --minversion=1.3.5.0" /ST 13:56:24 /RU SYSTEM /F /V1 /Z',)"

-> en simulation :
C:\wapt>c:\temp\waptdeploy.exe --hash=84e175cf5f5318efbac05403b61e78c7175a039bd2e0422e563d4f317e04f1b6 --waptsetupurl="c:\temp\waptagent.exe" --wait=15 --temporary --force --minversion=1.3.5.0
[..]
WAPT required version: 1.3.5.0
Wapt agent local path: C:\temp\c:\temp\waptagent.exe
Cleanup...
An unhandled exception occurred at $00416158:
EFOpenError: Unable to open file "C:\temp\c:\temp\waptagent.exe"

-> ce qui marche :
C:\wapt>c:\temp\waptdeploy.exe --hash=84e175cf5f5318efbac05403b61e78c7175a039bd2e0422e563d4f317e04f1b6 --waptsetupurl=c:\temp\waptagent.exe --wait=15 --force --minversion=1.3.5.0

ED

Re: waptupgrade parfois inopérant

Posté : 24 juin 2016 - 16:29
par htouvet
Le paramètre --temporary demande à waptdeploy de supprimer fichier waptagent.exe après installation et de supprimer la tache planifiée "fullwaptupgrade"
voir https://github.com/tranquilit/WAPT/blob ... y.lpr#L465

si le paramètre waptsetupurl contient un chemin local (pas une URL http), le waptagent.exe doit exister préalablement à l'adresse indiquée par ce chemin. Si waptdeploy ne le trouve pas, il considère que waptagent.exe est dans le même répertoire que waptdeploy.
Dans votre cas, il semble que waptagent.exe n'était pas à l'adresse c:\temp\waptagent.exe , c'est pour cela que waptdeploy a essayé d'ajouter le chemin c:\temp qui se retrouve dupliqué.

waptagent peut ne pas trouver à l'adresse temporaire lors du waptupgrade parce qu'un antivirus le détruit ...
Le waptagent.exe compilé depuis la console n'est pas "signé", et est donc parfois considéré comme suspect.

Lors de l'installation du paquet waptupgrade, le waptdeploy et waptagent sont copiés dans un répertoire temporaire système (commun) et une tache est planifiée pour le redémarrage.
Lors de la copie vers ce répertoire temporaire, "il se peut" que l'antivirus détruise le waptagent.exe (waptdeploy, lui, est signé)