PSIM-Testpaket

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
Gälen
Nachrichten: 254
Anmeldung: 22. November 2015 - 08:37 Uhr

21. Juni 2023 - 10:24 Uhr

Guten Morgen,
Ich versuche, ein Paket für die PSIM 2021B-Demo zu erstellen. Der Deinstallationsschlüssel befindet sich zwar in der Registrierung, aber unter HKEY_CURRENT_USER:

Code: Alle auswählen

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\6305213B-44F4-476B-85A0-EB506EDB8E01_is1
Die Installation funktioniert, indem das Feld „Key“ in install_exe_if_need leer gelassen wird, aber für die Deinstallation kann ich es nicht verwenden uninstall_cmd()Dies deutet darauf hin
"SCHWERWIEGENDER FEHLER: 2: Der Schlüssel Software\Microsoft\Windows\CurrentVersion\Uninstall\['6305213B-44F4-476B-85A0-EB506EDB8E01_is1'] kann nicht geöffnet werden."
Gibt es eine andere Möglichkeit, diesen Schlüssel zur Deinstallation zu verwenden? Oder ist es notwendig, den Befehl `run(r'%s /verysilent' % uninstall_string)` zu verwenden?

Hier ist der Code für meine setup.py-Datei:

Code: Alle auswählen

# -*- coding: utf-8 -*-
from setuphelpers import *
setup_binary_name = glob.glob("PSIM*.exe")[0]
app_name  = "_".join(setup_binary_name.split("_")[:2])
app_dir = makepath('C:\Powersim')
app_dir_binaries = makepath(app_dir,"_".join(setup_binary_name.split("_")[:3]))
binary_name = "PSIM.exe"
kill_list = [binary_name]
shortcutsdir = makepath(common_desktop(),'Logiciels','Elec - Automatisme')
uninstallkey_psim = ['6305213B-44F4-476B-85A0-EB506EDB8E01_is1']
uninstall_string = r'%s\unins000.exe' %app_dir_binaries

def install():
    print(r'Suppression des anciens PSIM')
    run_notfatal(r'C:\Powersim\PSIM11.1.1_Demo\unins000.exe /verysilent')
    run_notfatal(r'MsiExec.exe /qn /X{D46F2B61-FEE0-46AF-B57F-0EF74F0ECC98}')
    if isfile(makepath(shortcutsdir,'PSIM.lnk')):
        remove_file(makepath(shortcutsdir,'PSIM.lnk'))
        
    print(r'Installation de %s' % app_name)
    killalltasks(kill_list)
    install_exe_if_needed(setup_binary_name,
        silentflags='/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',
        key='',
        min_version='2021b'
    )

    print(r'Création du raccourci %s dans %s' %(app_name,shortcutsdir))
    if not isdir(shortcutsdir):
        mkdirs(shortcutsdir)
    create_shortcut(makepath(shortcutsdir,'%s.lnk' %app_name), target=makepath(app_dir_binaries,binary_name))
    remove_desktop_shortcut('PSIM License Monitor')
    remove_desktop_shortcut(app_name)

def uninstall():
    print(r"Desinstallation de %s" %app_name)
    killalltasks(kill_list)
    ##uninstall_cmd(uninstallkey_psim)
    run_notfatal(r'%s /verysilent' % uninstall_string)
    if  isfile(makepath(shortcutsdir,'%s.lnk' %app_name)):
        remove_file(makepath(shortcutsdir,'%s.lnk' %app_name))
    if isdir(app_dir):
        remove_tree(app_dir)

def audit():
    if isfile(makepath(app_dir_binaries,binary_name)):
        return("OK")
    else:
        return("Erreur : %s est introuvable !" %binary_name)
         

Und zweitens erhalte ich ohne die Funktion "audit()" oder mit einem einfachen return("OK") immer einen Fehler: "Audit aufgrund einer Ausnahme abgebrochen: Listenindex außerhalb des gültigen Bereichs"
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1953
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

26. Juni 2023 - 11:20 Uhr

Hallo Gaël,

die Variable `uninstall_key` ermöglicht es dir, den vom Programm bereitgestellten Deinstallationsschlüssel zu überschreiben, schreibt ihn aber nicht in die Registry.

Daher gibt es außer der von dir beschriebenen Vorgehensweise für den Deinstallationsprozess nicht viele andere Möglichkeiten.

Da der Schlüssel nicht an der korrekten Stelle in der Registry registriert ist, wäre es meiner Meinung nach sogar besser, `uninstall_key` gar nicht anzugeben. Andernfalls versucht die Funktion `def audit()`, ihn in der Registry zu suchen (dies ist das Standardverhalten, wenn keine Audit-Funktion im Paket definiert ist). Dies dürfte die Fehlermeldung verursachen, die du erhältst – was nicht schön ist und die wir beheben werden.

Wenn die Software versucht, den Schlüssel in HKCU zu erstellen, liegt das daran, dass sie annimmt, im Benutzerverzeichnis installiert zu werden. Wir sollten prüfen, ob es eine Option gibt, eine systemweite Installation zu erzwingen. Falls nicht, kontaktiere den Entwickler, um zu klären, ob er die Funktionsweise seiner Software korrigieren kann. Andernfalls kannst du diese Software in die Kategorie „Podoware“ einordnen (Software, die mit den Füßen entwickelt wurde :-) ).

Mit freundlichen Grüßen,

Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Gälen
Nachrichten: 254
Anmeldung: 22. November 2015 - 08:37 Uhr

26. Juni 2023 – 19:24 Uhr

Vielen Dank an Jimmy und Morgan, die das Paket heute Nachmittag für mich debuggt haben. Die Podoware lässt sich installieren und gibt keine Fehler mehr in der Konsole aus – das reicht mir ;)

Code: Alle auswählen

setup_binary_name = glob.glob("PSIM*.exe")[0]
wurde ersetzt durch

Code: Alle auswählen

setup_binary_name = 'PSIM_2021b_Demo_64bit_Setup.exe'
Die Version und das Timeout wurden im Befehl install_exe_if_needed geändert:

Code: Alle auswählen

install_exe_if_needed(setup_binary_name,
        silentflags='/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',
        key='',
        min_version='',
        timeout=900
    )

Code: Alle auswählen

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

setup_binary_name = 'PSIM_2021b_Demo_64bit_Setup.exe'
app_name  = "_".join(setup_binary_name.split("_")[:2])
app_dir = makepath('C:\Powersim')
app_dir_binaries = makepath(app_dir,"_".join(setup_binary_name.split("_")[:3]))
binary_name = "PSIM.exe"
kill_list = [binary_name]
uninstallkey_psim = ['F8C0340D-A8CE-4B15-96C0-D3F6A564A9DF_is1']
uninstall_string = r'%s\unins000.exe' %app_dir_binaries

def install():
    if isfile(makepath(shortcutsdir,'PSIM.lnk')):
        remove_file(makepath(shortcutsdir,'PSIM.lnk'))
    print(r'Installation de %s' % app_name)
    killalltasks(kill_list)

    install_exe_if_needed(setup_binary_name,
        silentflags='/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',
        key='',
        min_version='',
        timeout=900
    )

def uninstall():
    print(r"Desinstallation de %s" %app_name)
    killalltasks(kill_list)
    run_notfatal(r'%s /verysilent' % uninstall_string)
    if isdir(app_dir):
        remove_tree(app_dir)
Benutzeravatar
vCardon
WAPT-Experte
Nachrichten: 278
Anmeldung: 06. Oktober 2017 - 22:55 Uhr
Ort: Nantes, Frankreich

26. Juni 2023 – 22:44 Uhr

Mir gefällt Ihre Verwendung des Wortes „Podoware“, wir haben es erfunden :)
Vincent CARDON
Tranquil IT
Gesperrt