[GELÖST] Problem bei der Paketerstellung: PDF24

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
DominiqueG
Nachrichten: 2
Anmeldung: 23. Oktober 2018 - 06:21 Uhr

24. Oktober 2018 - 03:59 Uhr

Hallo zusammen

Nachdem ich das Problem immer und immer wieder in Gedanken durchgespielt habe, habe ich immer noch keine Lösung gefunden.

Ich möchte ein Wapt-Paket erstellen für PDF24 Bei der MSI-Installation erhalte ich immer wieder einen Fehler bezüglich der Deinstallationsschlüsselversion:

Code: Alle auswählen

2018-10-23 11:14:03,700 CRITICAL Fatal error in install script: EWaptSetupException: Fatal error : MSI pdf24-creator-8.6.1.msi has been installed and the uninstall key {E6280618-D2EA-48D8-9CCA-D50BCCDBCD62} found but version is not good:
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 3512, in install_wapt
    exitstatus = setup.install()
  File "c:\waptdev\ire-pdf24-creator-wapt\setup.py", line 53, in install
    install_msi_if_needed('pdf24-creator-%s.msi' %versionsoft, 'AUTOUPDATE=[No] DESKTOPICONS=[No] FAXPRINTER=[No] /[QN]',get_version=getversionpdf24, killbefore=['pdf24.exe'])
  File "C:\Program Files (x86)\wapt\common.py", line 3471, in new_func
    return func(*args,**kwargs)
  File "C:\Program Files (x86)\wapt\setuphelpers.py", line 3917, in install_msi_if_needed
    error('MSI %s has been installed and the uninstall key %s found but version is not good' % (msi,key))
  File "C:\Program Files (x86)\wapt\setuphelpers.py", line 4305, in error
    raise EWaptSetupException(u'Fatal error : %s' % reason)
EWaptSetupException: Fatal error : MSI pdf24-creator-8.6.1.msi has been installed and the uninstall key {E6280618-D2EA-48D8-9CCA-D50BCCDBCD62} found but version is not good

Die Versionsnummer und der Deinstallationsschlüssel werden jedoch in den MSI-Eigenschaften angezeigt:

Code: Alle auswählen

version_msi = get_msi_properties('pdf24-creator-%s.msi' %versionsoft)
print(version_msi)
    
    ## me retourne :
{u'PRIMARYFOLDER': u'INSTALLDIR', u'UpgradeCode': u'{8D2DF301-CE53-4939-81C2-D659E7B857BE}', u'WixUI_Mode': u'FeatureTree', u'FAXPRINTER': u'Yes', u'SecureCustomProperties': u'INSTALLDIR;PREVIOUSVERSIONSINSTALLED', u'AUTOUPDATE': u'No', u'ALLUSERS': u'1', u'ARPPRODUCTICON': u'ProductIcon.exe', u'DefaultUIFont': u'WixUI_Font_Normal', u'ProductLanguage': u'1033', u'ARPHELPLINK': u'http://www.pdf24.org', u'PROGRAMMENU': u'Yes', u'INSTALLLEVEL': u'3', u'Manufacturer': u'www.pdf24.org', u'ProductCode': u'{E6280618-D2EA-48D8-9CCA-D50BCCDBCD62}', u'ARPURLUPDATEINFO': u'http://www.pdf24.org', u'ProductVersion': u'8.6.1', u'ErrorDialog': u'ErrorDlg', u'EXEUNINSTALL': u'False', u'WixUIRMOption': u'UseRM', u'UPDATEMODE': u'1', u'DESKTOPICONS': u'Yes', u'ProductName': u'PDF24 Creator', u'InstallMode': u'Complete'}


 wapt-get list-registry pdf24
 
     ## me retourne :
     
UninstallKey                           Software        Version      Uninstallstring
------------------------------------------------------------------------------------------------------------------------
{E6280618-D2EA-48D8-9CCA-D50BCCDBCD62} PDF24 Creator   8.6.1        MsiExec.exe /I{E6280618-D2EA-48D8-9CCA-D50BCCDBCD62}
Was ich bereits versucht habe:

* Suchen Sie in der Wapt-Dokumentation nach einer Lösung: https://www.wapt.fr/fr/doc/Frequent-pro ... s-not-good

* Ich habe versucht, die Version im Befehl zu erzwingen

Code: Alle auswählen

    versionsoft = control['version'].split('-',1)[0]
    def getversionpdf24(key):
        return get_msi_properties('pdf24-creator-%s.msi' %versionsoft)['ProductVersion']
    install_msi_if_needed('pdf24-creator-%s.msi' %versionsoft, 'AUTOUPDATE=[No] DESKTOPICONS=[No] FAXPRINTER=[No] /[QN]',get_version=getversionpdf24, killbefore=['pdf24.exe'])

Hat irgendjemand eine Idee?
Vielen Dank im Voraus


System:
* Wapt-Server Windows 7 64-Bit
* Rechner zur Paketerstellung: Win7 64-Bit / pyscripter

PS1: Argumente für das Installationsprogramm mit der MSI-Datei: https://help.pdf24.org/en/forums/topic/ ... -arguments
https://help.pdf24.org/en/forums/topic/ ... -arguments

PS: Alternativ gibt es zwar PDF Creator im WAPT-Repository, aber es nervt mich, weil es mich bei jedem Druckvorgang zur Installation eines weiteren Programms auffordert. Ich persönlich finde PDF24 übersichtlicher

PS3: Ich habe versucht, mich bei der Entwicklung der Funktion `update_package()` von anderen Skripten inspirieren zu lassen, bin aber nicht fündig geworden. Falls jemand Ideen hat, die mir weiterhelfen könnten, wäre ich sehr dankbar :D
Zuletzt bearbeitet von DominiqueG am 26. Oktober 2018 um 06:02 Uhr, 1 Mal bearbeitet.
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1954
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

24. Oktober 2018 – 15:08 Uhr

Hallo DominiqueG,
DominiqueG schrieb: 24. Okt. 2018 - 03:59

Code: Alle auswählen

    versionsoft = control['version'].split('-',1)[0]
    def getversionpdf24(key):
        return get_msi_properties('pdf24-creator-%s.msi' %versionsoft)['ProductVersion']
    install_msi_if_needed('pdf24-creator-%s.msi' %versionsoft, 'AUTOUPDATE=[No] DESKTOPICONS=[No] FAXPRINTER=[No] /[QN]',get_version=getversionpdf24, killbefore=['pdf24.exe'])
In der Zeile `install_msi_if_needed` ist „properties“ eine benannte Variable. Wird „properties“ weggelassen, wird sie zu einer Positionsvariablen und ersetzt die min_version-Nummer. Und es ist bekannt, dass AUTOUPDATE > 8.6.1...

Code: Alle auswählen

install_msi_if_needed('pdf24-creator-8.6.1.msi', properties={'AUTOUPDATE':'[No]','DESKTOPICONS':'No','FAXPRINTER':'[No]'})
Wenn Sie mehrere interessante Pakete haben, können Sie, wie Simon mit den Web-Ants, Ihr eigenes Repository erstellen. Sie benötigen lediglich einen Webserver und die Möglichkeit, eine Paketdatei zu generieren. Zum Generieren dieser Datei benötigen Sie das Tool `wapt-scanpackages.py`. Früher war es im Paket `tis-waptrepo` enthalten, jetzt ist es direkt im Paket `tis-waptserver` enthalten. Ein Blick darauf lohnt sich.

Aufrichtig,

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-
DominiqueG
Nachrichten: 2
Anmeldung: 23. Oktober 2018 - 06:21 Uhr

26. Oktober 2018 - 06:43 Uhr

Hallo @dcardon

Nilkel, es funktioniert super, :D vielen Dank!

Was den Code angeht, werde ich versuchen, das umzusetzen, aber ich denke, ich werde das Skript einfach in einem Git-Repository veröffentlichen.

Zur Erklärung: Ich arbeite auf einem Schiff, das Unterseekabel weltweit verlegt. Diese Kabel werden, sobald sie in Betrieb sind, problemlos über 1 Terabyte pro Sekunde und Faserpaar übertragen können. An Bord haben wir jedoch nur eine sehr langsame Satelliten-Internetverbindung mit etwa 256 kbit/s für rund 30 Arbeitsstationen.

Das ist unglaublich langsam. Deshalb ist die Verwaltung von Programmupdates (zusätzlich zu deren zentralisierter Installation) eine echte Herausforderung, und Ihre Lösung ist besonders interessant.

Momentan überarbeite ich die Pakete, sodass sie sowohl 64-Bit- als auch 32-Bit-Installationsprogramme enthalten. Sobald ich mehr weiß, teile ich alles.

Falls jemand eine Möglichkeit findet, eine `update()`-Funktion für dieses Paket zu erstellen, wäre ich daran interessiert.

Der Download-Link ist einfach: https://www.pdf24.org/products/pdf-crea ... reator.msi.
Ich habe jedoch Probleme, die Überprüfung auf eine neue Version vor dem Download einzurichten.

Mit freundlichen Grüßen,
Dominique
Gesperrt