[Résolu]OpenBoard en dépendance se réinstalle à chaque fois

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
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

15 nov. 2019 - 10:15

Bonjour,
J'utilise un paquet "master" avec, en dépendance, une 20aine de paquets dont openboard.

Si je modifie mon paquet master, les postes clients le mettent à jour ce qui est normal. Mais j'ai remarqué que le paquet openboard était réinstallé à chaque fois même si il est déjà présent sur les machines (contrairement aux autres).

J'avais aussi eu ce problème sur le paquet Anki que j'ai résolu en précisant, dans le paquet Anki, la clé de désinstallation (key='Anki').

Pour OpenBoard, je pense que l'installer est foireux ce qui provoque ce phénomène.

Si je fais un wapt-get list-registry sur un client, j'ai ceci pour openBoard :

{8CCA6AC7-BBF9-4DD2-8E70-A907E0FCA38F}}_is1OpenBoard "C:\Program Files (x86)\OpenBoard\unins000.exe"

On remarque que la commande ne renvoi aucun numéro de version et que la clé UninstallKey me semble étrange.

Via le code suivant :

Code : Tout sélectionner

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

uninstallkey = ['{8CCA6AC7-BBF9-4DD2-8E70-A907E0FCA38F}}_is1']

def install():
    print('installing prefix-openboard')
    install_exe_if_needed("OpenBoard_Installer_1.5.3.exe",'/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',key='{8CCA6AC7-BBF9-4DD2-8E70-A907E0FCA38F}}_is1')
WAPT me renvoi l'erreur suivante durant l'installation sur un client :

Code : Tout sélectionner

EWaptSetupException: Fatal error : OpenBoard_Installer_1.5.3.exe has been executed and UninstallKey {8CCA6AC7-BBF9-4DD2-8E70-A907E0FCA38F}}_is1 has been found in the registry, but version in registry does not match requirements of min_version=0.0.0.0
Que puis-je faire ? Je pense que le souci vient du fait que OpenBoard ne possède pas de n° de version ....... ?

Merci pour vos pistes.
Dernière modification par Jonattend le 15 nov. 2019 - 16:15, modifié 1 fois.
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

15 nov. 2019 - 13:08

Effectivement, l'installeur ne met pas de version dans la base de registre.
Il faut donc la récupérer ailleurs... dans l'exe par exemple d'où la fonction get_installed_version
Et préciser la version minimum dans install_exe_if_needed

Code : Tout sélectionner

def get_installed_version(e):
    ob_path = makepath(programfiles32,'OpenBoard','OpenBoard.exe')
    if isfile(ob_path):
        return get_file_properties(ob_path)['FileVersion']
    else:
        return None

def install():
    print('installing tis-openboard')
    install_exe_if_needed("OpenBoard_Installer_1.5.3.exe",'/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',key='{8CCA6AC7-BBF9-4DD2-8E70-A907E0FCA38F}}_is1',min_version='1.5.3.240',get_version=get_installed_version)
Tranquil IT
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

15 nov. 2019 - 14:38

Bonjour,

Merci pour la réponse, c'est fonctionnel !

Pour être sûr d'avoir compris et de ne pas faire un bête copier / coller, pouvez-vous me confirmer que la fonction get_version permet d'aller chercher la version du fichier .exe et retourne le résultat ?

Sinon, même après la modification du paquet, un wapt-get list-registry me retourne toujours rien concernant le n° de version. Est-ce normal ?
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Avatar de l’utilisateur
htouvet
Expert WAPT
Messages : 402
Inscription : 16 mars 2015 - 10:48
Contact :

15 nov. 2019 - 14:48

Oui, on peut fournir à la fonction install_exe_if_needed un paramètre "get_version" qui doit pointer vers une fonction qui prend un paramètre (dictionnaire avec les infos actuellement dans le registre) et doit renvoyer la version.

Par défaut, si ce paramètre n'est pas fourni, la fonction prend la clé version de la base de registre.

Dans le cas d'OpenBoard, ça ne marche pas, car l'installeur ne met rien dans cette clé version. Donc on fournit une fonction alternative, et dans ce cas, j'ai proposé de prendre la version dans les métadonnées de l'exécutable OpenBoard.

C'est normal que list-registry n'affiche rien de plus, car on n'a pas touché à la base de registre.
Tranquil IT
Avatar de l’utilisateur
Jonattend
Messages : 43
Inscription : 26 mars 2018 - 14:45

15 nov. 2019 - 16:14

J'ai tout compris, c'est parfait ;)

Merci !!
WAPT Server version: 1.8.1 sur Debian 10
WAPT Agent version: 1.8.1.6756
WAPT Setup version: 1.8.1.6756 sur Windows10 v1909
WAPT Deploy version: 1.8.1.6756
Verrouillé