Seite 1 von 1

[GELÖST] Verbesserungsvorschlag: Optionen bei der Paketbereitstellung

Veröffentlicht: 6. Januar 2021 - 11:37 Uhr
von Christophe0110
Hallo,

ich möchte eine Verbesserung für WAPT vorschlagen (ich nutze WAPT Enterprise).
Beim Deployment eines von mir erstellten Pakets muss ich häufig Entscheidungen treffen.
Das offensichtlichste Beispiel ist die Installationssprache.

Eines unserer Softwareprogramme, dessen Installation recht umfangreich ist (das Paket ist ca. 6 GB groß), bietet während der Installation die Möglichkeit, zwischen Französisch und Englisch zu wählen. Einige unserer Nutzer bevorzugen die französische, andere die englische Version.
Ich möchte vermeiden, aufgrund der Paketgröße mehrere separate Pakete für die jeweilige Sprache erstellen zu müssen, nur um eine Einstellung ändern zu können.

Sehr hilfreich wäre es, eine bestimmte Option auswählen zu können, die das Python-Skript beim Hinzufügen eines Pakets zu einem Rechner während der Installation verwenden könnte. Quasi eine konfigurierbare Variable.

Ich vermute, dass dies eine recht komplexe Verbesserung ist, aber ich möchte sie Ihnen trotzdem vorstellen, falls die Idee auch für Sie interessant ist.

Viele Grüße,
Christophe.

Betreff: Verbesserungsvorschlag: Optionen für die Paketbereitstellung

Veröffentlicht: 6. Januar 2021 - 12:02 Uhr
von vcardon
Hallo Christophe, dein Anwendungsfall ist abgedeckt. ;)

Du solltest das mit dem Abhängigkeitsprinzip lösen können.

– Paket „generische 6-GB-Software“
– Paket „software-en“ (2 KB mit setup.py und einer Sitzungskonfiguration, die die Software auf Englisch einrichtet) mit der abhängigen 6-GB-Software
– Paket „software-fr“ (2 KB mit setup.py und einer Sitzungskonfiguration, die die Software auf Französisch einrichtet) mit der abhängigen 6-GB-Software.

Du installierst „software-en“ auf den PCs, deren Benutzer die 6-GB-Software auf Englisch benötigen.

Das Paket „generische 6-GB-Software“ wird vor dem Paket „software-en“ installiert.

Betreff: Verbesserungsvorschlag: Optionen für die Paketbereitstellung

Veröffentlicht: 6. Januar 2021 – 13:41 Uhr
von Christophe0110
Hallo Vincent,

danke für deine schnelle Antwort. :)

Ja, diese Technik war mir bekannt, aber in manchen Fällen muss der betreffende Parameter direkt beim Ausführen von setup.exe übergeben werden... also im Hauptpaket...

Ich weiß auch, dass ich ein Paket verwenden könnte, das eine temporäre Datei mit meinen Parametern auf der Festplatte erstellt, die dann vom Hauptpaket gelesen wird, um den richtigen Parameter für das Setup-Skript zu ermitteln. Aber das erscheint mir etwas umständlich... ;)

Viele Grüße!

Betreff: Verbesserungsvorschlag: Optionen für die Paketbereitstellung

Veröffentlicht: 6. Januar 2021 – 17:14 Uhr
von vcardon
Alternativ kopiert das erste Paket die 6 GB große Software einfach in ein temporäres Verzeichnis, ohne sie zu installieren.

Anschließend wird dieselbe Strategie angewendet:

„logiciel-en“ führt die Installation mit den korrekten Parametern mithilfe der im temporären Verzeichnis gespeicherten .exe- oder .msi-Datei aus.

Betreff: Verbesserungsvorschlag: Optionen für die Paketbereitstellung

Veröffentlicht: 11. Januar 2021 - 11:06 Uhr
von jpele
Guten Morgen,

Das Firefox-Beispiel sollte Ihnen dabei helfen, Ihre Anforderungen zu erfüllen:
https://store.wapt.fr/store/tis-firefox

Der Codeausschnitt:

Code: Alle auswählen

    # Translating locale
    for lang in list_lang:
        if control.locale in lang:
            locale = lang
    app_uninstallkey='Mozilla Firefox %s (%s %s)' % (package_version,app_arch,locale)
Aufrichtig,
Jimmy

Betreff: Verbesserungsvorschlag: Optionen für die Paketbereitstellung

Veröffentlicht: 11. Januar 2021 - 11:10 Uhr
von jpele
Mit der plattformübergreifenden Version von Firefox stehen Ihnen außerdem weitere Optionen zur Verfügung:

https://store.wapt.fr/store/tis-firefox-multi

Teil des Codes:

Code: Alle auswählen

    # Changing default language
    data = json_load(policies_path)
    my_lang = get_language()
    for select_lang in list_pre_installed_lang:
        if my_lang in select_lang:
            if select_lang == 'en-GB':
                select_lang = 'en-US' 
            default_lang = {"RequestedLocales": ["%s" % select_lang]}
    data['policies'].update(default_lang)
    json_write(policies_path,data,indent=2)

Betreff: Verbesserungsvorschlag: Optionen für die Paketbereitstellung

Veröffentlicht: 11. Januar 2021 – 14:54 Uhr
von Christophe0110
Hallo Vincent,

ja, das ist in der Tat eine weitere Lösung.

Hallo Jimmy,

dein Beispiel ist interessant, danke. Dieses Paket prüft zwar die Systemsprache, aber ich möchte in meinem Fall während der Installation auswählen können, ob sie auf Französisch oder Englisch erfolgen soll (das Betriebssystem ist immer auf Französisch).
Ich werde es mir aber ansehen. ;)


Danke.
Viele Grüße,
Christophe.