Bonjour,
J'ai un petit soucis avec cette fonction.
Je dois installer un fichier à partir d'un .exe auquel je dois fournir le paramètre /verysilent pour l'install silencieuse.
Comme la fonction install_exe_if_needed ne semble pas permettre d'ajouter des paramètres (comme le fait install_msi_if_needed avec properties), j'utilise run_as_administrator(monfichier.exe, params="/verysilent").
Suite à cela, j'ai besoin de copier des fichiers dans le répertoire où le logiciel s'est installé, il faut donc que l'install soit terminée pour que le chemin de copie existe, j'utilise donc wait_uninstallkey_present() avec la clé de désinstallation.
Enfin, j'ai besoin de lancer un fichier .exe présent dans le répertoire d'installation afin de lancer le service sur le PC.
Comme cet exe ne renvoit pas de code retour, j'utilise run_nofatal() pour ne pas terminer en erreur.
Mon problème est que l'exécution de mon .exe se fait bien car je vois apparaitre le service sur mon poste, mais le print("demarrage OK") que je mets juste après n'est jamais affiché ; donc l'execution de l'installation ne fini pas.
Le but de cette fonction n'est-elle pas justement d'executer et sortir sans attendre quoique ce soit ?
[RESOLU] run_nofatal() ne termine jamais
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
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
- sfonteneau
- Expert WAPT
- Messages : 2084
- Enregistré le : 10 juil. 2014 - 23:52
- Contact :
Vous pouvez-envoyer votre setup.py ce sera plus simplesebastien4444 a écrit : ↑07 juin 2024 - 17:58 Comme la fonction install_exe_if_needed ne semble pas permettre d'ajouter des paramètres (comme le fait install_msi_if_needed avec properties), j'utilise run_as_administrator(monfichier.exe, params="/verysilent").
et si si install_exe_if_needed permet l'ajout d'un argument avec silentflags:
exemple avec vlc:
Code : Tout sélectionner
install_exe_if_needed("vlcsetup.exe",silentflags="/S",key="VLC media player",min_version="3.0.20")
run_as_adminsitrator ne devrais pas être utiliser dans les paquet puisque wapt est lancer un compte system donc non necessaire.
utiliser juste run
-
- Messages : 22
- Enregistré le : 14 sept. 2023 - 08:53
Bonjour,
Merci pour votre retour,
En effet pour l'installation, je n'avais pas fait attention à la présence du paramètre silent flag dans install_exe_if_needed
Par contre, ça ne change pas mon problème de lancement du fichier .exe
En utilisant run() au lieu de run_as_administrator(), j'ai bien mon service qui se lance (comme quand j'utilisais run_nofatal) mais le déroulement du script reste bloqué à cette ligne et le script ne se termine donc pas (donc si je buils le paquet en l'état et que je déploie sur un pc, l'installation ne termine jamais).
Merci d'avance pour vos retours.
Merci pour votre retour,
En effet pour l'installation, je n'avais pas fait attention à la présence du paramètre silent flag dans install_exe_if_needed

Par contre, ça ne change pas mon problème de lancement du fichier .exe

En utilisant run() au lieu de run_as_administrator(), j'ai bien mon service qui se lance (comme quand j'utilisais run_nofatal) mais le déroulement du script reste bloqué à cette ligne et le script ne se termine donc pas (donc si je buils le paquet en l'état et que je déploie sur un pc, l'installation ne termine jamais).
Merci d'avance pour vos retours.
- sfonteneau
- Expert WAPT
- Messages : 2084
- Enregistré le : 10 juil. 2014 - 23:52
- Contact :
Vous pouvez-envoyer votre setup.py ce sera plus simple 

-
- Messages : 22
- Enregistré le : 14 sept. 2023 - 08:53
Bonjour,
Voilà ce que ça donne :
Le logiciel s'installe, le fichier de config est bien copié, le service se lance bien mais le print de "Service lancé" n'est jamais atteint et le script ne termine qu'au bout du timeout (et en erreur du coup).
Voilà ce que ça donne :
Code : Tout sélectionner
from setuphelpers import *
def install():
install_exe = "UltraVNC Installer.exe"
config_file = "ultravnc.ini"
install_path = makepath("C:","Program Files","uvnc bvba","UltraVNC")
service_path = makepath("C:","Program Files","uvnc bvba","UltraVNC","winvnc.exe")
install_exe_if_needed(install_exe, , silentflags="/verysilent", key="Ultravnc2_is1")
print("VNC installé")
filecopyto(config_file, install_path)
print("Config copiée")
run(service_path)
print("Service lancé")
- dcardon
- Expert WAPT
- Messages : 1717
- Enregistré le : 18 juin 2014 - 09:58
- Localisation : Saint Sébastien sur Loire
- Contact :
Bonjour Sébastien,
il est très probable que l'exécution de "winvnc.exe" ne rend pas la main (en gros c'est pas lancé en tant que service) et que donc le run() ne rend pas la main. Après le timeout ça va killer le winvnc.exe qui aura été lancé et le paquet se mettre en erreur.
Il y a probablement une manière de déclarer winvnc en tant que service et de le lancer en tant que service pour éviter que ça soit bloquant.
Cordialement,
Denis
il est très probable que l'exécution de "winvnc.exe" ne rend pas la main (en gros c'est pas lancé en tant que service) et que donc le run() ne rend pas la main. Après le timeout ça va killer le winvnc.exe qui aura été lancé et le paquet se mettre en erreur.
Il y a probablement une manière de déclarer winvnc en tant que service et de le lancer en tant que service pour éviter que ça soit bloquant.
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
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
-
- Messages : 22
- Enregistré le : 14 sept. 2023 - 08:53
Bonjour,
Merci pour la réponse.
Oui c'est ça, dès que l'erreur est levée, le programme se stoppe.
J'ai essayé différentes fonctions python de différentes librairies qui permettent l’exécution de fichier et ça ne change rien.
La bizarrerie est que le lancement de winvnc.exe via un invite de commande ne pose pas se soucis : le programme se lance, je récupère le prompt presque instantanément et le programme reste actif.
Moi qui pensais que les fonctions d'execution en python revenaient au même que lancer une commande cmd
Tant pis, je ferai autrement. encore merci
Merci pour la réponse.
Oui c'est ça, dès que l'erreur est levée, le programme se stoppe.
J'ai essayé différentes fonctions python de différentes librairies qui permettent l’exécution de fichier et ça ne change rien.
La bizarrerie est que le lancement de winvnc.exe via un invite de commande ne pose pas se soucis : le programme se lance, je récupère le prompt presque instantanément et le programme reste actif.
Moi qui pensais que les fonctions d'execution en python revenaient au même que lancer une commande cmd
Tant pis, je ferai autrement. encore merci
- dcardon
- Expert WAPT
- Messages : 1717
- Enregistré le : 18 juin 2014 - 09:58
- Localisation : Saint Sébastien sur Loire
- Contact :
Rebonjour Sébastien,
est ce que vous avez jeté un coup d'oeil au paquet que l'on a sur le store
https://wapt.tranquil.it/store/en/detai ... _PROD.wapt
Si l'objectif est de le faire tourner en tant que service, c'est la meilleur manière de faire.
Sinon si vous avez vraiment besoin de reproduire le comportement de lancement d'une commande en arrière plan, vous pouvez regarder la commande ligne de commande "start"
Cordialement,
Denis
est ce que vous avez jeté un coup d'oeil au paquet que l'on a sur le store
https://wapt.tranquil.it/store/en/detai ... _PROD.wapt
Si l'objectif est de le faire tourner en tant que service, c'est la meilleur manière de faire.
Sinon si vous avez vraiment besoin de reproduire le comportement de lancement d'une commande en arrière plan, vous pouvez regarder la commande ligne de commande "start"
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
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
-
- Messages : 22
- Enregistré le : 14 sept. 2023 - 08:53
Super, merci !
En regardant le setup.py de votre paquet, j'ai pu voir qu'il fallait rajouter le paramètre "-install" à l'exécution de winvnc.exe (qui au final se trouve dans la doc "Ligne de commande" d'UltraVNC mais j'étais passé à côté
)
En regardant le setup.py de votre paquet, j'ai pu voir qu'il fallait rajouter le paramètre "-install" à l'exécution de winvnc.exe (qui au final se trouve dans la doc "Ligne de commande" d'UltraVNC mais j'étais passé à côté

- dcardon
- Expert WAPT
- Messages : 1717
- Enregistré le : 18 juin 2014 - 09:58
- Localisation : Saint Sébastien sur Loire
- Contact :
Bonjour Sébastien,
merci pour ton retour
Heureux que vous ayez trouvé une résolution.
N'hésitez pas à parler de WAPT autour de vous, WAPT se dissémine aussi beaucoup à travers le bouche à oreille
!
Cordialement,
Denis
merci pour ton retour

N'hésitez pas à parler de WAPT autour de vous, WAPT se dissémine aussi beaucoup à travers le bouche à oreille

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
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