Contactez nous

Vérification installation

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum

* Questions can be asked in English or in French. If the thread is started in English, stick to English, if it is started in French, stick to French.
* Vous pouvez poser vos questions en Français ou en Anglais. Si un sujet est commencé en français, merci de répondre en français. Si un sujet est commencé en anglais, merci de répondre en anglais.
* Please prefix of the title of the thread to [SOLVED] if it is solved.
* Merci de préfixer le titre du thread par [RESOLU] si il est résolu.

- Version de WAPT installée (1.6.2.7 Entreprise )
- OS du serveur (Linux) et version (Debian Strech)
- OS de la machine d'administration/création des paquets (Windows 10)


Bonjour,

nous allons bientôt mettre en place WAPT dans notre parc sauf que je rencontre un soucis sur certains de mes packages.

Certains de mes packages ont des lignes de commandes apres l'installation run ou install_exe_if_needed ( copie de fichier, création de clé de registre ...)
pour éviter la réécriture de certaines données et la perte de configuration sur les postes déjà installé j'ai pris en copie une partie du code d'un package pour vérifier que le soft est bien installé.

J'ai essayé plusieurs méthode mais certains packages ne s'installe pas

1.

Code : Tout sélectionner

def install():

    global uninstallkey
    from common import Wapt

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    Software = [ soft for soft in installed_softwares(softname) if Version(soft['version']) < Version('12.0.6002.5') ]

    if Software:
        print('installing futur-DameWareRS')
        run('DameWareRS.exe /args "/qn reboot=reallysuppress SILENT=yes INSTALLSTANDALONE=0 CENTRALSERVERHOSTNAME=*****.****.***.fr CENTRALSERVERPORT=6133"')
    else:
        print('already installed')
2.

Code : Tout sélectionner

def install():

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    
    if not check_installed_out:
        print('installing futur-DameWareRS')
        run('DameWareRS.exe /args "/qn reboot=reallysuppress SILENT=yes INSTALLSTANDALONE=0 CENTRALSERVERHOSTNAME=*****.*****.****.fr CENTRALSERVERPORT=6133"')
    else:
        print('already installed')
je préfère le code 1 car il va vérifié la version installé car si je doit mettre à jour mon soft l'update ne va pas ce faire car il va détecter que le soft est déjà installé. sauf que je rencontre un soucis car lorsque je fait une désinstallation et après je test mon script il ne fait rien a part mon print.

Lorsque je fait un print de ma variable elle est vide mon script devrait faire l'installation.

avez vous une méthode plus simple pour le déploiement sur des postes déja en place ?

je viens vers vous car ça fait plusieurs semaines que je me casse la tête pour trouver une solution et la date de mise en prod arrive bientôt

je vous remercie.
Votre premier code doit fonctionner je ne constate pas d'erreur

En revanche, a vérifier que le soft installé a bien une version inférieur a 12.0.6002.5
par contre j'ai garder la solution 1 mais par exemple pour un autre soft, rien ne s'installe alors que le soft n'est pas présent sur le poste la variable Sofware affiche rien.

Quand je fait un print j'ai comme retour [] .

la commande fonctionne bien pour la vérification du poste mais pour une nouvelle installation rien ne ce passe alors qu'il devrait s'installer vu qu'il ne voit pas le soft
Je pense avoir trouvé une solution mais je ne suis pas sur

je fait deux vérification et pour le moment ça fonctionne

Code : Tout sélectionner

def install():

    global uninstallkey
    from common import Wapt

    softname = 'DameWare Remote Support'
    check_installed_out = installed_softwares(softname)
    Software = [ soft for soft in installed_softwares(softname) if Version(soft['version']) < Version('12.1.0.34') ]

    if Software or not check_installed_out:
Pourquoi ne pas utiliser install_exe_if_needed a la place du run?

Il fait déjà toute ces vérification. (si besoin copier coller la fonction install exe if needed)

https://github.com/tranquilit/WAPT/blob ... s.py#L4152
Pour certains exe ou msi via cette solution ça ne fonctionne pas pour cela que je suis passer par un run

et nous avons certaines commande à mettre pour la configuration des softs ( configuration ODBC, copie de fichier de conf ect ...) sans vérification même avec un install_exe_if_needed le package va exécuter les commandes de configuration, je veux éviter que les confs soit modifié.

c'est pour ça que je cherche un moyen de faire une vérification si le soft est installé sur le poste mais que si il est pas installé que le packages s’exécute.