| |
Posté le 11 septembre 2020 - 17:11 |
Bonjour,
J'ai une application qui se met à jour en cliquant sur le bouton "mise à jour", ce bouton lance un .exe d'installation et j'aimerais fermer l'application qui lance l'installation sans arrêter l'installation
SI LanceAppli(nom_fichier_maj_exe) = Faux ALORS ExceptionDéclenche(1, "Erreur lancement installation: " + ErreurInfo(errMessage)) FIN FinProgramme(Vrai)
Avec ce code je scie la branche sur laquelle je suis assis, pouvez vous m'aider s'il vous plait ? |
| |
| |
| | | |
|
| | |
| |
Posté le 11 septembre 2020 - 19:49 |
Salut,
Voici une méthode que j'utilise :
Info("L'application va se terminer pour poursuivre la mise à jour") LanceAppli(gsRepTemp + cFTPNOMAPPLI,exeActif,exeNonBloquant,gsRepTemp) FinProgramme() L'application qui lance la mise à jour est arrêtée et la mise à jour se poursuit.
Cdlt |
| |
| |
| | | |
|
| | |
| |
Posté le 14 septembre 2020 - 16:26 |
Bonjour,
Merci pour votre réponse mais ça ne marche pas. Ce bout de code ne me permet pas de garder la main sur l’exécutable lancé. Le FinPogramme me ferme tout. |
| |
| |
| | | |
|
| | |
| |
Posté le 14 septembre 2020 - 18:16 |
Bonjour,
Pourtant chez moi ça marche bien mon appli principale contient un bouton dans lequel il y a ce code
Lors de l'exécution du code l'installateur est lancé (c'est un autre .exe), le code continue et arrête l'appli principale, mais le deuxième Exe continue à s'exécuter.
Peut être que j'ai mal compris le besoin
Cdlt. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 189 messages Popularité : +4 (8 votes) |
|
Posté le 15 septembre 2020 - 09:01 |
Bonjour, Et si tu met ce code dans ton deuxième programme SI ExeLancé("chemin complet de ton premier programme")= Vrai ALORS FinProgramme()
Bon dev |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 189 messages Popularité : +4 (8 votes) |
|
Posté le 15 septembre 2020 - 09:17 |
Autrement tu peux faire : Dans ton premier programme : LanceAppli("Le chemin et nom d'un fichier .bat",exeInactif,exeBloquant,"le nom du répertoire") FinProgramme()
Dans le fichier .bat tu code 2 lignes: le chemin et nom.exe de ton deuxième programme exit |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 189 messages Popularité : +4 (8 votes) |
|
Posté le 15 septembre 2020 - 09:26 |
Bien sur les constances sont à choisir suivant ce que tu veux faire : exeInactif et exeBloquant voir l'aide de LanceAppli |
| |
| |
| | | |
|
| | |
| |
Posté le 15 septembre 2020 - 12:29 |
Bonjour,
Merci à tous pour vos réponses. Rien ne marche, mais je me pose une question est ce que c'est dû à mon semaphore ? car j'en utilise un. Si oui, avez vous une solution ?
Merci |
| |
| |
| | | |
|
| | |
| |
Posté le 15 septembre 2020 - 15:23 |
Désolé en fait non je n'utilise pas de Sémaphore |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 189 messages Popularité : +4 (8 votes) |
|
Posté le 16 septembre 2020 - 09:06 |
Bonjour Et avec ce code pour tuer le processus: Dans le premier programme MonPID est un entier MonPID = ExeDonnePID() Tu passes en paramètre MonPID en appelant ton deuxième programme
Dans le deuxième programme: Tu récupères le paramètre MonPID et après : bRes est un booléen bRes = ExeTermine(MonPID) |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 189 messages Popularité : +4 (8 votes) |
|
Posté le 16 septembre 2020 - 13:02 |
Bien sur en mode test cela ferme tes 2 programmes |
| |
| |
| | | |
|
| | |
| |
Posté le 19 octobre 2020 - 16:33 |
Bonjour
J'essayai en mode Test du coup ça ne marchait pas. Merci maintenant ça marche.
Une autre question, je voudrai poursuivre mon code une fois que l'installation est terminée (Ici "Lanceappli" lance un exécutable qui me met à jour l'application qui utilise ce code) , dans ce cas je suis obligé de mettre une pop avec une question pour bloquer et pouvoir effecuter le reste du code, c'est pas top comme solution en avez vous une autre (la suite du morceau de code permet de lancer un service qui utilise cet exe ? Merci
SI LanceAppli(nom_fichier_maj_exe,exeActif,exeNonBloquant) = Faux ALORS ExceptionDéclenche(1, "Erreur lancement installation: " + ErreurInfo(errMessage)) FIN SI ServiceExiste(gNomService) ALORS SI OuiNon("Voulez-vous relancer le service XXXXX ?") ALORS SI ServiceEtat(gNomService) DANS (serviceEtatDémarré,serviceEtatEnPause,serviceEtatAttenteDémarrage) ALORS RedemarrerService() SINON ExécuteTraitement(ONGLET.BT_INSTALL,trtClic) FIN FIN FinProgramme(Vrai) SINON FinProgramme(Vrai) FIN |
| |
| |
| | | |
|
| | |