[Gelöst] Die OpenBoard-Abhängigkeit installiert sich jedes Mal neu

Fragen zu WAPT-Paketen / Anfragen und Hilfe bezüglich WAPT-Paketen.
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Gesperrt
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

15. November 2019 - 10:15 Uhr

Guten Morgen,
Ich verwende ein „Master“-Paket mit etwa 20 Abhängigkeiten, darunter Openboard.

Wenn ich mein Master-Paket ändere, aktualisieren die Client-Rechner es, was normal ist. Mir ist jedoch aufgefallen, dass das Openboard-Paket jedes Mal neu installiert wird, selbst wenn es bereits auf den Rechnern vorhanden ist (im Gegensatz zu den anderen).

Ich hatte dasselbe Problem mit dem Anki-Paket, das ich durch Angabe des Deinstallationsschlüssels (key='Anki') im Anki-Paket gelöst habe.

Ich glaube, dass bei OpenBoard die Installation fehlerhaft ist, was dieses Phänomen verursacht.

Wenn ich ein wapt-get list-registry Bei einem Kunden habe ich Folgendes für OpenBoard:

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

Wir stellen fest, dass der Befehl keine Versionsnummer zurückgibt und dass uns der Schlüssel „UninstallKey“ seltsam vorkommt.

Verwendung des folgenden Codes:

Code: Alle auswählen

# -*- 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 gibt bei der Installation auf einem Client folgenden Fehler zurück:

Code: Alle auswählen

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
Was kann ich tun? Ich glaube, das Problem ist, dass OpenBoard keine Versionsnummer hat...?

Vielen Dank für Ihre Vorschläge.
Zuletzt bearbeitet von Jonattend am 15. November 2019 um 16:15 Uhr, 1 Mal bearbeitet.
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

15. November 2019 – 13:08 Uhr

Tatsächlich trägt das Installationsprogramm keine Versionsnummer in die Registrierung ein.
Daher muss sie von einer anderen Stelle abgerufen werden... zum Beispiel aus der ausführbaren Datei, daher die Funktion `get_installed_version`
Und geben Sie die Mindestversion in install_exe_if_need an

Code: Alle auswählen

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)
Ruhige IT
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

15. November 2019 – 14:38 Uhr

Hallo, vielen Dank für die Antwort, es funktioniert! Um sicherzugehen, dass ich es richtig verstanden habe und nicht einfach nur kopiert habe, könnten Sie bitte bestätigen, dass die Funktion `get_version` die Version der .exe-Datei ermittelt und das Ergebnis zurückgibt? Andernfalls liefert ` wapt-get list-registry` auch nach der Änderung des Pakets keine Versionsnummer. Ist das normal?





WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Benutzeravatar
htouvet
WAPT-Experte
Nachrichten: 436
Anmeldung: 16. März 2015 - 10:48 Uhr
Kontakt:

15. November 2019 – 14:48 Uhr

Ja, Sie können der Funktion `install_exe_if_needed` einen `get_version`-Parameter übergeben. Dieser Parameter sollte auf eine Funktion verweisen, die einen Parameter (ein Dictionary mit den aktuell in der Registry gespeicherten Informationen) entgegennimmt und die Version zurückgibt.

Standardmäßig verwendet die Funktion den `version`-Schlüssel aus der Registry, falls dieser Parameter nicht angegeben wird.

Im Fall von OpenBoard funktioniert dies nicht, da das Installationsprogramm unter diesem `version`-Schlüssel keine Informationen speichert. Daher stellen wir eine alternative Funktion bereit. In diesem Fall habe ich vorgeschlagen, die Version aus den Metadaten der OpenBoard-Executable abzurufen.

Es ist normal, dass `list-registry` keine zusätzlichen Informationen anzeigt, da wir die Registry nicht verändert haben.
Ruhige IT
Benutzeravatar
Jonattend
Nachrichten: 43
Anmeldung: 26. März 2018 – 14:45 Uhr

15. November 2019 – 16:14 Uhr

Ich verstehe alles, es ist perfekt, ;)

danke!!
WAPT-Serverversion: 1.8.1 unter Debian 10;
WAPT-Agentversion: 1.8.1.6756;
WAPT-Setupversion: 1.8.1.6756 unter Windows 10 Version 1909;
WAPT-Bereitstellungsversion: 1.8.1.6756
Gesperrt