Bonjour Benjamin,
Merci pour la réponse claire. Simple méconnaissance du produit de mon côté, en effet.
J’ai refait un essai avec deux autres packages en les désinstallant correctement, et j’obtiens systématiquement ce type d’erreur dans le log :
WARNING Warning : CalledProcessError: Command '('taskkill /im infrarecorder.exe /f',)' returned non-zero exit status 128
WARNING Warning : CalledProcessError: Command '('taskkill /im infrarecorder.exe /f',)' returned non-zero exit status 128
WARNING Warning : CalledProcessError: Command '('"C:\Program Files (x86)\InfraRecorder\uninstall.exe" /S',)' returned non-zero exit status 1
closing infrarecorder
Warning : Command '('taskkill /im infrarecorder.exe /f',)' returned non-zero exit status 128
L’avertissement au niveau du taskkil peut, je le suppose êre ignore. Mais qu’en est-il de l’avertissement au niveau du désinstallateur ?
le paquet utilisait encore une ancienne syntaxe : run('taskkill /im infrarecorder.exe /f)
La nouvelle syntaxe fourni par les setuphelpers WAPT permet d'éviter ces messages d'erreur, et effectue d'une manière plus propre le kill des child du process en question si il y en a.
killalltasks('infrarecorder.exe')
Essai avec package putty : la désinstallation ne fonctionne pas du tout (fichiers toujours présents sur le disque)
Essai avec package Infrarecorder : la désinstallation s’effectue, mais partiellement (fichiers supprimés du disques, mais raccourcis toujours présents).
c'est le désinstallateur .exe qui est mal écrit. J'ai rajouté un ligne pour prendre ça en compte. Le paquet est mis à jour en 0.53-5.
D'une manière générale, les dés-installeurs des logiciels sont beaucoup moins bien écrit que les installeurs. Il n'est pas rare (cf. les deux cas mentionné ici) qu'il faut faire des choses en plus pour bien nettoyer la machine. Nous sommes plus attentif à ces choses là sur les paquets que l'on a créé/modifié récemment.
Dans une version future de WAPT on imagine mettre un handle sur les évènements du système de fichier (msdn.microsoft.com/en-us/library/1e6szwcw(v=vs.71).aspx) pour avoir la liste exhaustive des choses modifés par un installeur lors du setup et ainsi vérifier qu'il enlève bien tout.
Cordialement,
Denis
Mauvaise conception de ces packages en particulier ?
*De :*WAPT [mailto:wapt-bounces@lists.tranquil.it] *De la part de* Hubert TOUVET *Envoyé :* mercredi 18 juin 2014 12:00 *À :* wapt@lists.tranquil.it *Objet :* Re: [Wapt] désinstallation package ne fonctionne pas ?
Bonjour, Le comportement est "normal", en ce sens que le paquet filezilla est une dépendance du poste. L'action devrait s'appeler "Enlever la dépendance" Si il n'est pas présent sur le poste il est installé, mais s'il est installé mais pas requis, il n'est pas désinstallé de façon forcée. Le fait de retirer le paquet filezilla de la configuration d'un poste retire la dépendance, mais ne force pas la désinstallation.
Pour forcer de manière simple la désinstallation, on peut faire un clic droit dans la liste paquets installés d'un client dans la console, et choisir "Désinstaller le package". C'est une action immédiate.
Il y a deux autres moyens programmés "avancés" de s'assurer qu'un paquet est désinstallé :
- ajouter une instruction WAPT.remove('ortis-filezilla') dans la
procédure install du fichiers setup.py d'un paquet (par exemple un paquet spécifique de nettoyage systématique)
- mettre le paquet concerné dans la liste "conflicts" du paquet machine.
(de cette manière, on s'assurer que le paquet ne sera jamais installé...) Pour l'instant, ces autres méthodes ne sont pas intégrées à la console... donc pas très pratiques pour les non initiés.... mais très prochainement, l'ajout assisté de paquets en "confict" pour forcer la désinstallation sera intégré à la console.
Hubert Touvet Tranquil IT Systems
Le 18/06/2014 11:20, Benjamin Gindrat a écrit :
Bonjour, je suis en cours de test avec serveur WAPT sous debian et client(s) sous Window 7. Je ne parviens pas à désinstaller les packages déployés sur mes clients. Scénario : 1)Via la console, duplication d’un package (Filezilla) du dépôt externe vers le dépôt privé : OK 2)Attribution de ce package individuellement à plusieurs clients (double-clic sur chaque client, drag&drop du package dans la zone « paquets devant être présents sur la machine) : OK 3)Application des modifs. Le déploiement s’effectue sans problème sur mes 2 clients : notifications via le tray helper & logiciel installé avec succès : OK 4)Je teste ensuite la désinstallation : via la console, double-clic sur chaque client, clic droit sur filezilla à enlever. Application des modifs. 5)Le tray helper réagit sur chaque client et m’informe que l’update des packages a été effectuée et que le système est à jour. 6)Vérification sur les clients : la désinstallation ne semble pas avoir fonctionné, le logiciel Filezilla est toujour présent. NOK. En double cliquant sur chaque client via la console, le package a pourtant bien été supprimé de la liste « paquets devant être présents sur la machine ». NOK. Ce comportement est-il normal ? J’ai checké au niveau des logs sur chaque client. L’un me renseigne des erreurs de timeout, l’autre ne renseigne aucune erreur. Merci _______________________________________________ WAPT mailing list WAPT@lists.tranquil.it <mailto:WAPT@lists.tranquil.it> http://lists.tranquil.it/listinfo/wapt
WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt