Page 1 sur 2
[RESOLU] WAPT.download_upgrades() sans effet
Publié : 23 juil. 2025 - 16:16
par brice73
Bonjour,
Dans un paquet y, j'ai besoin d'utiliser la méthode WAPT.download_upgrades() pour mettre un autre paquet x à jour (maj en version n+1 du paquet x installé en version n) et ensuite l'installer avec WAPT.install(x).
Hors ceci ne fonctionne pas. Lors de l'installation du paquet y (pas d'erreur, le paquet s'installe bien), le poste ne télécharge pas la dernière version (n+1) du paquet x et ne l'installe donc pas. Il reste avec la version n du paquet x. Je n'en comprends pas la raison, sachant que la version n+1 du paquet x est bien disponible sur le serveur wapt, que l'agent du poste est bien paramétré pour aller chercher les paquets sur le serveur wapt. Ce n'est pas non plus un problème de maturité du paquet x (le problème se pose quelquesoit la maturité). Par ailleurs, avec la console si je sélectionne le poste puis que je fais "Vérifier les mises à jour" et que je coche "Et télécharger les paquets", le poste télécharge bien la version n+1 du paquet x. (ci-dessous, ce "paquet x" est "col73-xmind" , je veux le mettre à jour et l'installer à l'intérieur de l'installation d'un autre paquet)
Voici les lignes de code correspondantes :
Code : Tout sélectionner
WAPT.download_upgrades()
for p in WAPT.installed(include_errors=True):
if p.package == 'col73-xmind':
WAPT.install('col73-xmind')
Ces mêmes lignes de code fonctionnaient pourtant auparavant (j'ai déjà procédé de cette façon avec un autre paquet il y a un an sans problème)
D'où pourrait venir le problème ?
Re: WAPT.download_upgrades() sans effet
Publié : 24 juil. 2025 - 10:19
par brice73
J'ai rajouté quelques lignes de codes pour faire des vérifications et effectivement le paquet x est bien trouvé en version n (en réalité 16) mais étrangement la version n+1 (en réalité 17) disponible sur le serveur n'est pas vue, téléchargée et installée d'après le log. A la place, wapt re-télécharge et réinstalle la version n (16)

, comme cela apparait dans le log ci-dessous.
Pourtant, comme dit dans mon message précédent, avec la console, si je vérifie la mise à jour des paquets pour le poste avec téléchargement des paquets, le poste voit et télécharge bien la version n+1 (17) !?
Code : Tout sélectionner
WAPT.download_upgrades()
for p in WAPT.installed(include_errors=True):
if p.package == 'col73-xmind':
print("paquet col73-xmind détecté")
version_paquet=(p.version).split("-")[1]
print('version du paquet wapt de xmind installé=%s - tentative de maj du paquet"' % version_paquet)
WAPT.install('col73-xmind',force=True)
Ci-dessous le log d'installation du paquet col73-xmind8 dans lequel se trouve les lignes de codes précédentes :
paquet col73-xmind détecté
version du paquet wapt de xmind installé=16 - tentative de maj du paquet"
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 262144 / 161672722 (0%) (15.62Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 68419584 / 161672722 (42%) (64.22Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 138936320 / 161672722 (86%) (65.72Mb/s)
col73-xmind_3.7.2.0-16_windows_0f4137ed1502b5045d6083aa258b5c42_PROD_9757a8c0d5a4e8d25c3a08543880461d.wapt : 161672722 / 161672722 (100%) (65.78Mb/s)
Installation de XMind
Installing: xmind-8-update2-windows.exe (3.7.2.0)
Copie du dossier XMind (AppData) dans C:\Sources\XMind pour future installation...
Copie terminee avec succes
Installation terminee avec succes
Copie du dossier de l'application portable XMind8
version du paquet wapt de xmind installé=16
Re: WAPT.download_upgrades() sans effet
Publié : 24 juil. 2025 - 10:24
par sfonteneau
Bonjour
si je vérifie la mise à jour des paquets pour le poste avec téléchargement des paquets, le poste voit et télécharge bien la version n+1 (17) !?
Du coup dans le code vous faite un update ? WAPT.update()
Re: WAPT.download_upgrades() sans effet
Publié : 24 juil. 2025 - 11:43
par brice73
Bonjour Simon,
Non je n''avais pas fait un WAPT.update() auparavant.
En faisant cela avant WAPT.upgrades() cela fonctionne maintenant merci!
Cdlt
Re: WAPT.download_upgrades() sans effet
Publié : 25 juil. 2025 - 15:27
par dcardon
Bonjour Brice,
il faut faire quand même attention à éviter les download_upgrade / update dans une fonction install, car dans pas mal de cas lors de l'installation à l'extinction de la machine il n'y aura plus de réseau (vpn, wifi, 802.1x, etc.) et le téléchargement et donc l'installation va échouer.
Cordialement,
Denis
Re: WAPT.download_upgrades() sans effet
Publié : 25 juil. 2025 - 19:08
par vcardon
En effet, c'est mieux de mettre le 2ème logiciel en dépendance du premier dans le fichier control, c'est beaucoup plus propre et moins prône aux soucis.
Re: WAPT.download_upgrades() sans effet
Publié : 29 juil. 2025 - 09:37
par brice73
Bonjour Denis et Vincent,
Merci pour vos conseils. Ce cas est un peu particulier. En fait je ne peux et ne souhaite pas mettre ce paquet en dépendance car c'est un paquet mal nommé dont la fonction uninstall() ne fonctionne pas (erreur) et qui ne peut être désinstallé tel quel. Je veux donc le remplacer par un autre paquet y. Du coup, j'utilise WAPT.update() et WAPT.download_upgrades() pour mettre à jour le paquet en erreur, et dans ce même paquet de remplacement y, je désinstalle le paquet x plus tard après sa mise à jour avec WAPT.remove(paquet x), la fonction uninstall du paquet x étant alors fonctionnelle.
J'ai préalablement supprimé ce paquet de tous les postes, donc il ne sera pas réinstallé une fois la désinstallation effectuée.
Ceci me permet d'automatiser son remplacement lors de l'installation du nouveau paquet qui est lui correct. En tout cas cela me serait beaucoup trop fastidieux de devoir désinstaller manuellement le paquet x sur des centaines de postes, après une mise à jour (il faut aussi que les postes soient allumés pour cela). Donc je profite de l'installation du nouveau paquet en remplacement y pour automatiser cela. J'avais déjà fait cela il y a un an avec un autre paquet qui posait le même problème et tout s'était bien passé. Sur des centaines de postes, il n'y avait pas eu de problème de téléchargement de la nouvelle version du paquet. Après, le téléchargement s'effectue sur un dépôt secondaire en réseau local.
Mais il me semblait pourtant que lors de l'extinction waptexit lançait le téléchargement des mises à jour avant de les installer ?!
Cordialement,
Brice
Re: WAPT.download_upgrades() sans effet
Publié : 01 août 2025 - 20:01
par vcardon
Mais il me semblait pourtant que lors de l'extinction waptexit lançait le téléchargement des mises à jour avant de les installer ?!
Non, tout doit avoir été téléchargé avant le lancement de waptexit car on ne peut pas connaître l'état de disponibilité du réseau à l'extinction de la machine.
Ce que vous auriez pu faire, maintenant qu'on connaît mieux votre cas d'usage, c'est de corriger la fonction de désinstallation du paquet en dépendance, pousser d'abord la correction et ensuite ça aurait bien fonctionné je pense avec une correction supplémentaire au fichier "control" de votre paquet principal avec un "depends: newpackage" et un "conflicts: oldpackage".
Re: WAPT.download_upgrades() sans effet
Publié : 05 août 2025 - 15:37
par brice73
Bonjour Vincent,
Ce que vous auriez pu faire, maintenant qu'on connaît mieux votre cas d'usage, c'est de corriger la fonction de désinstallation du paquet en dépendance, pousser d'abord la correction et ensuite ça aurait bien fonctionné je pense avec une correction supplémentaire au fichier "control" de votre paquet principal avec un "depends: newpackage" et un "conflicts: oldpackage".
En effet, ça semble possible. Je pensais que les postes resteraient en erreur car si la nouvelle version du paquet n'a pas été maj par le poste, alors sa désinstallation préalable (via le conflit) échouera et le nouveau paquet de remplacement ne s'installera pas mais remontera en erreur. En y resongeant, à priori cela ne devrait être que temporaire en fait, le temps que les postes mettent à jour le paquet dont la fonction uninstall est erronée.
Re: WAPT.download_upgrades() sans effet
Publié : 05 août 2025 - 19:43
par vcardon
La fonction uninstall peut être corrigée avec une nouvelle version du paquet, plus simple et plus fiable que ce que vous tentez de faire.
Le principal, c'est que vous arriviez à faire ce que vous voulez avec WAPT.