[RESOLU] Problème création de paquet : PDF24

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
DominiqueG
Messages : 2
Inscription : 23 oct. 2018 - 06:21

24 oct. 2018 - 03:59

Bonjour à tous

Après tourné le problème dans tout les sens je n'ai toujours pas trouvé la solution.

Je cherche à faire un paquet Wapt pour PDF24 avec le MSI or je tombe à chaque fois sur l'erreur de version de de la clé de désinstalation :

Code : Tout sélectionner

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

Pourtant la version et la clé de désinstallation apparaît bien dans les propriété du MSI :

Code : Tout sélectionner

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}
Ce que j'ai déjà essayé :

* Cherche une solution dans la doc Wapt : https://www.wapt.fr/fr/doc/Frequent-pro ... s-not-good

* Essayé de forcer la version dans la commande

Code : Tout sélectionner

    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'])

Quelqu'un aurai-t'il une idée ?
En vous remerciant par avance


Système :
* Serveur Wapt Windows 7 64 bit
* Machine de réalisation des paquet : Win7 64 bit / pyscripter

PS1 : les argument pour linstalateur avec le MSI : https://help.pdf24.org/en/forums/topic/ ... -arguments
https://help.pdf24.org/en/forums/topic/ ... -arguments

PS : En solution alternative, je sais qu'il y à PDF créator sur le dépot Wapt mais il me soûle à toujours vouloir proposer l'installation d'un autre programme à chaque impression. Pour ma part je trouve PDF24 plus propre

PS3 : j'ai essayé de m'inspirer des autre scripte pour faire la fonction update_package() mais je n'ai pas trouvé. Si certain on des idées pour m'aider à avancer je suis preneur :D
Dernière modification par DominiqueG le 26 oct. 2018 - 06:02, modifié 1 fois.
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1373
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

24 oct. 2018 - 15:08

Bonjour DominiqueG,
DominiqueG a écrit : 24 oct. 2018 - 03:59

Code : Tout sélectionner

    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'])
Sur la ligne install_msi_if_needed, "properties" est une variable nommé. Si l'on ne met pas "properties", c'est une variable positionnelle et ça remplace le numéro de min_version. Et c'est bien connu que AUTOUPDATE > 8.6.1...

Code : Tout sélectionner

install_msi_if_needed('pdf24-creator-8.6.1.msi', properties={'AUTOUPDATE':'[No]','DESKTOPICONS':'No','FAXPRINTER':'[No]'})
Si vous avez plusieurs paquets intéressant, vous pouvez vous faire votre repo perso comme simon l'avait fait avec les fourmis du web. Il suffit d'un serveur web et de générer un fichier Packages. Pour générer le fichier d'index Packages, il faut l'outil wapt-scanpackages.py, avant il venait avec le paquet tis-waptrepo, maintenant il est directement dans le paquet tis-waptserver. A voir.

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
DominiqueG
Messages : 2
Inscription : 23 oct. 2018 - 06:21

26 oct. 2018 - 06:43

Bonjour @dcardon

Nilkel ça fonctionne bien, :D Merci beaucoup.

Pour le code, je vais essayer de faire ça, mais je pense plus mettre juste le script sur un dépôt Git.

En effet et pour la petite histoire, je travaille sur un navire qui pose des câbles sous-marin à travers le monde. Or bien que ces câbles une fois en service dépasseront largement le To/s par paire de fibre. À bord on se coltine une maigre connexion internet par satellite, en gros du 256K pour une 30ène de postes ...

Ça rame donc sévère et tout ça pour dire que la maitrise des mises à jour des programmes (en plus de leur installation centralisée) est un vrai enjeux, et votre solution particulièrement intéressante.

Pour le moment j'en suis juste à re faire des paquets pour qu'il comprenne les installateurs 64 et 32 bits. Mais quand j'en saurais un peu plus, je partagerais tout ça.

Au passage si quelqu’un trouve un moyen de faire une fonction update() pour ce paquet, cela m'intéresse.

Le lien de téléchargement est simple : https://www.pdf24.org/products/pdf-crea ... reator.msi
mais c'est la vérification si une nouvelle version existe, avant de lancer le téléchargement, que je n'arrive pas à mettre en place.

Cordialement
Dominique
Verrouillé