[GELÖST] Pakete für Logi Options+ (Windows / MacOS)

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
bastien30
Nachrichten: 38
Anmeldung: 8. März 2024 – 15:21 Uhr

20. November 2025 - 12:26 Uhr

Guten Morgen,

Ich habe ein Paket für die Logi Options+ Software unter Windows und MacOS erstellt, mit der Funktion update_package().

Windows

setup.py:

Code: Alle auswählen

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

installer = r'logioptionsplus_%s.exe'

def install():
    appver = control.version.split('-',1)[0]
    install_exe_if_needed(installer % appver,
        silentflags = '/quiet /analytics no /device-recommendation no /update no',
        name = 'Logi Options+',
        min_version = get_version_from_binary(installer % appver, property_name='ProductVersion')
    )
    remove_desktop_shortcut(r'Logi Options+')

def update_package():
    appname = control.name
    url_dl = control.sources
    appver = control.version.split('-',1)[0]
    installer_dl = r'logioptionsplus_latest.exe'

    # Download installer to check its version
    wget(url_dl, installer_dl)
    installer_dl_version = get_version_from_binary(installer_dl)
    print(r'Latest %s version : %s' % (appname, installer_dl_version))

    if Version(installer_dl_version) > Version(appver):
        os.rename(installer_dl, installer % installer_dl_version)
        # Changing version of the package
        control.version = '%s-%s'%(installer_dl_version, control.version.split('-')[-1])
        control.save_control_to_wapt()
        print('Changing version to: %s in WAPT\\control' % control.version)
        remove_outdated_binaries(installer_dl_version)
    else:
        print("Already up to date")
Kontrolle:

Code: Alle auswählen

package           : xxx-logi_options_plus
version           : 1.97.791262-3
architecture      : x64
section           : base
priority          : optional
name              : Logi Options+
categories        : Utilities
maintainer        : XXXX
description       : Enhance your Logitech devices with Logi Options Plus software. Customize settings, create shortcuts, and increase productivity.
depends           : xxx-vcredist2015-2022
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 
sources           : https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.exe
installed_size    : 
impacted_process  : logioptionsplus,logioptionsplus_agent,logioptionsplus_appbroker,logioptionsplus_updater,LogiSyncStub
description_fr    : Améliorez vos appareils Logitech grâce au logiciel Logi Options Plus. Personnalisez les paramètres, créez des raccourcis et augmentez votre productivité.
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : Logitech, Inc.
keywords          : 
licence           : Proprietary
homepage          : https://www.logitech.com/software/logi-options-plus
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://support.logi.com/hc/fr/articles/1500005516462-Logi-Options-Release-Notes
min_os_version    : 10
max_os_version    : 
macOS

setup.py:

Code: Alle auswählen

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

installer_name = r'logioptionsplus_installer'

def install():
    appname = control.name
    appver = control.version.split('-',1)[0]
    installer_zip = r'%s_%s.zip' % (installer_name, appver)
    installer = r'./%s_%s/%s.app/Contents/MacOS/%s' % (installer_name, appver, installer_name, installer_name)

    soft = installed_softwares(r'logioptionsplus')
    if soft:
        if soft[0]["version"] >= appver:
            if not WAPT.options.force:
                print(r'%s is already installed with version %s' % (appname, soft[0]["version"]))
                return(0)

    unzip(installer_zip, r'%s_%s' % (installer_name, appver))
    run(r'%s --quiet --analytics no --device-recommendation no --update no' % installer)

def uninstall():
    # Uninstall and clean leftovers
    run(r'sudo /Library/Application\ Support/Logitech.localized/LogiOptionsPlus/logioptionsplus_agent.app/Contents/Frameworks/logioptionsplus_updater.app/Contents/MacOS/logioptionsplus_updater --full --uninstall --quiet')
    uninstall_pkg(r'com.logi.installer.pluginservice.media.package')
    uninstall_pkg(r'com.logi.installer.pluginservice.package')
    if isdir(r'/Library/Application\ Support/Logi/'):
        remove_tree(r'/Library/Application\ Support/Logi/')
    
def update_package():
    appname = control.name
    url_dl = control.sources
    appver = control.version.split('-',1)[0]
    installer_dl = r'%s.zip' % installer_name
    plist_file_name = r'Info.plist'

    # Download installer to check it's version
    wget(url_dl, installer_dl)

    # Check version from plist file
    if isfile(plist_file_name):
        remove_file(plist_file_name)
    unzip_with_7zip(installer_dl, target=basedir, filenames=[r'%s.app/Contents/Info.plist' % installer_name], extract_with_full_paths=False, recursive=False)
    plist_file = get_plist_obj(plist_file_name)
    installer_dl_version = plist_file[r'CFBundleVersion']
    print(r'Latest %s version : %s' % (appname, installer_dl_version))
    remove_file(plist_file_name)

    if Version(installer_dl_version) > Version(appver):
        old_zip_name = r'%s-%s.zip' % (installer_name, appver)
        if isfile(old_zip_name):
            remove_file(old_zip_name)
        os.rename(installer_dl, r'%s_%s.zip' % (installer_name, installer_dl_version))
        # Changing version of the package
        control.version = '%s-%s'%(installer_dl_version, control.version.split('-')[-1])
        control.save_control_to_wapt()
        print('Changing version to: %s in WAPT\\control' % control.version)
    else:
        print("Already up to date")
        
def get_plist_obj(plist_file):
    """ Returns a plist obj when given the path to a plist file. """

    with open(plist_file, 'rb') as fp :
        plist_obj = plistlib.load(fp)
    return plist_obj
Kontrolle:

Code: Alle auswählen

package           : xxx-logi_options_plus
version           : 1.97.791262-8
architecture      : all
section           : base
priority          : optional
name              : Logi Options+
categories        : Utilities
maintainer        : XXXX
description       : Enhance your Logitech devices with Logi Options Plus software. Customize settings, create shortcuts, and increase productivity.
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : darwin
min_wapt_version  : 
sources           : https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.zip
installed_size    : 
impacted_process  : logioptionsplus,logioptionsplus_agent,logioptionsplus_appbroker,logioptionsplus_updater,LogiSyncStub
description_fr    : Améliorez vos appareils Logitech grâce au logiciel Logi Options Plus. Personnalisez les paramètres, créez des raccourcis et augmentez votre productivité.
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : Logitech, Inc.
keywords          : 
licence           : Proprietary
homepage          : https://www.logitech.com/software/logi-options-plus
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://support.logi.com/hc/fr/articles/1500005516462-Logi-Options-Release-Notes
min_os_version    : 13
max_os_version    : 
Gadam
Nachrichten: 25
Anmeldung: 30. Oktober 2025 - 14:46 Uhr

21. November 2025 – 16:30 Uhr

Hallo Bastien,

das Logi Options+ Paket ist für Windows fertiggestellt und wird in den nächsten Tagen im Store erhältlich sein.
Wir arbeiten noch an der Mac-Version.

Viele Grüße,

Gwenaël
Gesperrt