Indiquer la validité d'une installation

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Verrouillé
raikyn
Messages : 8
Enregistré le : 02 mai 2016 - 15:36

06 mars 2017 - 16:00

Bonjour,

Je crée régulièrement des paquets depuis un peu plus d'un an et je rencontre un "problème" :

J'ai crée un paquet pour installer un logiciel métier (ERDAS 2014 en l’occurrence), celui-ci s'installe sans aucun problème mais WAPT considère que l'installation est incorrecte, aucune idée de la raison.

Du coup, ce paquet (malgré sa bonne configuration) tentera de se réinstaller à chaque fois qu'une modification sera effectuée sur les PCs où le paquet est installé.

Ma question est la suivante : Est-il possible d'indiquer à WAPT (via la console) qu'un paquet est bien installé? (Forcer l'état OK?).

Je ne souhaite pas utiliser la fonction "Oublier le paquet", car je souhaiterai pouvoir désinstaller celui-ci proprement via la console WAPT quand besoin est.

Si cette possibilité n'existe pas, ce serait peut-être une idée d'implémentation non?
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

06 mars 2017 - 16:30

Bonjour

Pour vous aider nous avons besoin d'avoir le contenue du paquet (setup.py)

Si par exemple vous lancer un run il est possible que celui-ci ne renvoie pas un status 0 et donc wapt considère que l’installation a échouée.

Pour savoir exactement que qui dit wapt il faut nous indiquer l'erreur:
https://www.wapt.fr/fr/doc/Utilisation/ ... et-general

Simon
raikyn
Messages : 8
Enregistré le : 02 mai 2016 - 15:36

07 mars 2017 - 08:53

Bonjour, apparement c'est bien un problème de "status" qui n'est pas à 0

Voici le contenu du setup.py :

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

uninstallkey = ['{4099F374-39B8-4226-9AC2-2069CEE8BF82}']


def install():
run(r'"foundation\Setup.exe" /s ERDASFoundation2014 /ni ACCEPT_EULA=1')


L'erreur :
CalledProcessError: Command '('"foundation\\Setup.exe" /s ERDASFoundation2014 /ni ACCEPT_EULA=1',)' returned non-zero exit status 1

Je précise qui si je lance cette commande depuis l'invite de commande directement sur le PC, je n'ai aucune erreur.
Floflobel
Messages : 135
Enregistré le : 15 oct. 2015 - 17:32

07 mars 2017 - 11:01

Bonjour,

Personnellement j'utilise la fonction install_exe_if_needed: https://dev.tranquil.it/sphinxdocs/sour ... _if_needed

Il faudra au préalable vous munir de l'uninstall_key, voici ou elle se trouve :

Code : Tout sélectionner

# For OS 64bits and Software 32bits version : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
# For OS 32 bits or 64bits (and Software 64bits version) : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
Cordialement,
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

07 mars 2017 - 18:01

La fonction install_exe_if_needed basculera également en erreur.

https://dev.tranquil.it/sphinxdocs/sour ... _if_needed

En effet celle-ci accepte les exit code 0, 3010 le code retour n'en fait pas partie 1 n'en fait partie.

Effectivement si vous utilisez install_exe_if_needed au deuxième passage celui-ci ne devrait pas générer d'erreur car la uninstallkey sera trouvée !

Vous pouvez si vous le souhaitez ajouter l'exit code 1 comme ok pour wapt.

run('"install.exe" /s',accept_returncodes=[0, 1, 3010])

Mais l' exit code 1 est t'il un exit code normal ?

Simon
raikyn
Messages : 8
Enregistré le : 02 mai 2016 - 15:36

08 mars 2017 - 09:59

Merci beaucoup ça fonctionne grâce au accept_returncodes=[0, 1, 3010].
J'avais déjà vu cette fonction, mais ne l'ayant jamais utilisé j'avais fini par l'oublier...désolé du dérangement.

En ce qui concerne l'exit code 1 j'avoue que, dans la plupart des cas, il correspondait bien à un problème dans l’installation.
Mais pour ERDAS Foundation 2014, l'installation est complète malgré ce code.

Merci encore!
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

08 mars 2017 - 10:15

Le mieux est donc comme l'indiquait Floflobel d'utiliser install_exe_if_needed avec le accept_returncodes=[0, 1, 3010]

Ainsi si la uninstallkey n'est pas trouver après le lancement du run le paquet basculera en erreur (pour une bonne raison ;-) )
Verrouillé