Effectivement "start /w" fonctionne. J'ai mis à jour, c'est plus propre.
Merci pour votre aide.
De: "Denis Cardon" <denis.cardon@tranquil-it-systems.fr>
À: "Didier Paulin" <didier.paulin@lepuyenvelay.fr>, "Bastien HERMITTE" <bhermitte@b2pweb.com>
Cc: wapt@lists.tranquil.it
Envoyé: Jeudi 6 Août 2015 11:29:29
Objet: Re: [Wapt] Question d'un newbie python
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@b2pweb.com>
> *À: *wapt@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@b2pweb.com>
> *À: *wapt@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@b2pweb.com>
> *À: *wapt@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@lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
>
>
>
> _______________________________________________
> WAPT mailing list
> WAPT@lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
>
>
>
> _______________________________________________
> WAPT mailing list
> WAPT@lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
>
>
>
> _______________________________________________
> WAPT mailing list
> WAPT@lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
>
>
>
> _______________________________________________
> WAPT mailing list
> WAPT@lists.tranquil.it
> http://lists.tranquil.it/listinfo/wapt
>
--
Denis Cardon
Tranquil IT Systems
Les Espaces Jules Verne, bâtiment A
12 avenue Jules Verne
44230 Saint Sébastien sur Loire
tel : +33 (0) 2.40.97.57.55
http://www.tranquil-it-systems.fr