[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