[Wapt] Question d'un newbie python

Phil markham markham89 at hotmail.com
Thu Aug 6 16:50:23 CEST 2015


Bonjour,

suite a la mesaventure Ddider,

je souhaite savoir si les commande run ou install_exe ou install_msi,

sont des commande synchrone (l'instruction suivante du "run" attend la 
fin du programme lancé) ou asychrone (le script lance le programme et  
continue).

en vous remerciant.


Le 06/08/2015 11:29, Denis Cardon a écrit :
> Bonjour
>
>> Bien vu le coup du sleep, c'était bien ça ! Merci !
>> Maintenant suppression du raccourcis bureau suivant l'os en cours :-)
>
> Est ce que vous pourriez tester de lancer l'installer avec la commande
>  start /w vlc-2.2.1-win32.exe
>
> Normalement start /w ne devrait pas rendre la main tant que le 
> programme source n'est pas complètement terminé [1]
>
> Cordialement,
>
> Denis
>
> [1] https://support.microsoft.com/en-us/kb/198044
>
>
>>
>> Cordialement.
>>
>>
>> ------------------------------------------------------------------------
>> *De: *"Bastien HERMITTE" <bhermitte at b2pweb.com>
>> *À: *wapt at lists.tranquil.it
>> *Envoyé: *Jeudi 6 Août 2015 10:13:34
>> *Objet: *Re: [Wapt] Question d'un newbie python
>>
>> Bonjour,
>>
>> Le premier exemple est le bon, le if doit cependant être aligné au même
>> niveau que le try/except pour être intégré à la fonction install().
>> Vous pouvez essayer de mettre un time.sleep(2) avant la suppression de
>> la DLL pour attendre 2 secondes, en effet celle-ci est peut être encore
>> en cours d'utilisation par le programme d'installation.
>>
>> Note : vous n'avez pas besoin d'effectuer le os.path.isfile() qui est
>> déjà intégré à la fonction remove_file().
>>
>> Cordialement,
>> Bastien HERMITTE
>>
>> Le 06/08/2015 09:18, Didier Paulin a écrit :
>>
>>     Ha j'avance !  merci pour ton aide, alors quand je fait une update
>>     de mon paquet avec ceci :
>>
>>     /from setuphelpers import */
>>     /import os.path/
>>     /uninstallkey = ['VLC media player']/
>>
>>     /def install():/
>>     /    try:/
>>     /        install_exe_if_needed('vlc-2.2.1-win32.exe','/S
>>     --no-qt-privacy-ask','VLC media
>>     player',min_version='2.2.1',killbefore='vlc.exe')/
>>     /    except:/
>>     /        killalltasks('vlc.exe')/
>>     /        print("installing VLC exe")/
>>     /        run('"vlc-2.2.1-win32.exe" /S --no-qt-privacy-ask')/
>>
>>     /if os.path.isfile(makepath(programfiles32 +
>>     r'\VideoLAN\VLC','npvlc.dll')):/
>>     /    remove_file(makepath(programfiles32 +
>>     r'\VideoLAN\VLC','npvlc.dll'))/
>>
>>     La dll est bien supprimé sur les postes qui ont déjà vlc, par contre
>>     sur un nouveau poste vlc s'install mais la dll n'est pas supprimé ??
>>
>>
>>     Et si je fait :
>>
>>     /def install():/
>>     /    try:/
>>     /        install_exe_if_needed('vlc-2.2.1-win32.exe','/S
>>     --no-qt-privacy-ask','VLC media
>>     player',min_version='2.2.1',killbefore='vlc.exe')/
>>     /    except:/
>>     /        killalltasks('vlc.exe')/
>>     /        print("installing VLC exe")/
>>     /        run('"vlc-2.2.1-win32.exe" /S --no-qt-privacy-ask')/
>>     /        if os.path.isfile(makepath(programfiles32 +
>>     r'\VideoLAN\VLC','npvlc.dll')):/
>>     /            remove_file(makepath(programfiles32 +
>>     r'\VideoLAN\VLC','npvlc.dll'))/
>>     //
>>     La dll n'est jamais supprimé, ni sur les postes updater ni sur les
>>     nouvelle install/...
>>     /
>>     //
>>     //
>>     *Une idée ?*
>>
>>     Cordialement.
>>
>>
>> ------------------------------------------------------------------------
>>     *De: *"Bastien HERMITTE" <bhermitte at b2pweb.com>
>>     *À: *wapt at lists.tranquil.it
>>     *Envoyé: *Mercredi 5 Août 2015 15:23:05
>>     *Objet: *Re: [Wapt] Question d'un newbie python
>>
>>     Bonjour,
>>
>>     La fonction makepath n'est pas une fonction standard de python, pour
>>     l'utiliser il faut importer les fonctions du setuphelper en haut du
>>     script :
>>     /from setuphelpers import */
>>
>>     Cela me parait bizarre que votre premier exemple fonctionne car la
>>     fonction makepath ne prend que deux paramètres et pas quatre (mais
>>     je suis loin d'être expert en python, et je suis toujours en WAPT
>>     1.1.1 donc la fonction a peut être changé depuis).
>>
>>     Je viens de tester ceci et ça fonctionne bien :
>>     /remove_file(//makepath(programfiles32 + 
>> r'\VideoLAN\VLC','npvlc.dll'))/
>>     A placer en dessous de la commande d'installation de VLC (run).
>>
>>     Cordialement
>>     Bastien HERMITTE
>>
>>     Le 05/08/2015 15:05, Didier Paulin a écrit :
>>
>>         Quand j’exécute manuellement ceci dans pyscripter  ma dll est
>>         bien effacé :
>>
>>         /filename = 
>> makepath(programfiles32,'videolan','VLC','npvlc.dll')/
>>         /        if os.path.isfile(filename):/
>>         /            os.remove(filename)/
>>         /
>>         /
>>         Mais quand je le rajoute à la fin du script vlc la dll ne
>>         s’efface pas à la fin de l'install..
>>
>>         ----
>>
>>         Si j’exécute ceci :
>>
>>         /filename = makepath(programfiles32+ 
>> r'\VideoLAN\VLC','npvlc.dll')/
>>         /if os.path.isfile(filename):/
>>         /            os.remove(filename)/
>>         /
>>         /
>>         //
>>
>>
>>         merci d'avance
>>
>>         Cordialement.
>>
>>
>> ------------------------------------------------------------------------
>>         *De: *"Bastien HERMITTE" <bhermitte at b2pweb.com>
>>         *À: *wapt at lists.tranquil.it
>>         *Envoyé: *Mercredi 5 Août 2015 14:37:00
>>         *Objet: *Re: [Wapt] Question d'un newbie python
>>
>>         Bonjour,
>>
>>         Le problème est dans la fonction makepath :
>>         /filename = makepath(programfiles32 + 
>> r'\VideoLAN\VLC','npvlc.dll')/
>>         Note : le 'r' avant une chaine permet d'éviter d'avoir à doubler
>>         les antislash.
>>
>>         De plus, il existe une fonction déjà toute faite pour la
>>         suppression de fichier :
>>         /remove_file(filename)/
>>         Note : pour voir la source de la fonction remove_file, dans
>>         pyscripter, appuie sur Ctrl et clic sur le nom de la fonction
>>
>>         Cordialement,
>>         Bastien HERMITTE
>>
>>         Le 05/08/2015 14:04, Didier Paulin a écrit :
>>
>>             Bonjour à tous, je commence à gratter (un peu) la création
>>             de paquet et je n'arrive pas à faire un truc qui doit être
>>             tout simple Embarrassé :
>>
>>             Je veux supprimer une dll à la fin d'install de vlc, j'ai
>>             modifié le setup.py de cette manière mais ma dll ne veux pas
>>             s’effacer.... ami pro-python voyer vous la coquille ?
>>
>>             /from setuphelpers import */
>>             /import os.path/
>>             /uninstallkey = ['VLC media player']/
>>
>>             /def install():/
>>             /    try:/
>>             / install_exe_if_needed('vlc-2.2.1-win32.exe','/S
>>             --no-qt-privacy-ask','VLC media
>>             player',min_version='2.2.1',killbefore='vlc.exe')/
>>             /    except:/
>>             /        killalltasks('vlc.exe')/
>>             /        print("installing VLC exe")/
>>             /        run('"vlc-2.2.1-win32.exe" /S 
>> --no-qt-privacy-ask')/
>>             /*filename =
>> makepath(programfiles32,'videolan','VLC','npvlc.dll')*/
>>             */        if os.path.isfile(filename):/*
>>             */            os.remove(filename)/*
>>
>>
>>
>>             Cordialement.
>>
>>
>>
>>
>>             _______________________________________________
>>             WAPT mailing list
>>             WAPT at lists.tranquil.it
>>             http://lists.tranquil.it/listinfo/wapt
>>
>>
>>
>>         _______________________________________________
>>         WAPT mailing list
>>         WAPT at lists.tranquil.it
>>         http://lists.tranquil.it/listinfo/wapt
>>
>>
>>
>>     _______________________________________________
>>     WAPT mailing list
>>     WAPT at lists.tranquil.it
>>     http://lists.tranquil.it/listinfo/wapt
>>
>>
>>
>> _______________________________________________
>> WAPT mailing list
>> WAPT at lists.tranquil.it
>> http://lists.tranquil.it/listinfo/wapt
>>
>>
>>
>> _______________________________________________
>> WAPT mailing list
>> WAPT at lists.tranquil.it
>> http://lists.tranquil.it/listinfo/wapt
>>
>



More information about the WAPT mailing list