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
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.
----- Mail original -----
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.
----- Mail original -----
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 :
<blockquote>
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 :
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
</blockquote>
_______________________________________________ WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
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
Bien vu le coup du sleep, c'était bien ça ! Merci ! Maintenant suppression du raccourcis bureau suivant l'os en cours :-)
Cordialement.
----- Mail original -----
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.
----- Mail original -----
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 :
<blockquote>
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.
----- Mail original -----
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 :
<blockquote>
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 :
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
</blockquote>
_______________________________________________ WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
</blockquote>
_______________________________________________ WAPT mailing list WAPT@lists.tranquil.it http://lists.tranquil.it/listinfo/wapt
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
Effectivement "start /w" fonctionne. J'ai mis à jour, c'est plus propre.
Merci pour votre aide.
Cordialement.
----- Mail original -----
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
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@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
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@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