IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Fermer l'application pour la mettre à jour


Sujet :

C#

  1. #1
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut Fermer l'application pour la mettre à jour
    Bonjour,

    J'ai mit en place un système qui vérifie si la version de l'application est à jour.
    Lorsqu'elle ne l'est pas, la nouvelle version se télécharge.

    Une fois télécharger je voudrais fermer l'application, puis lancer le nouveau setup réaliser sans manipulation de l'utilisateur.

    Cela est il possible?


    Je me demandais également si je ne pouvais pas passer par une autre moyen pour mettre à jour mon application, c'est à dire, ne pas avoir de setup, télécharger les nouveaux fichiers et les remplacer les fichiers par les anciens.

    Ce procédé est il possible aussi?


    Cordialement,

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    un système qui vérifie si la version de l'application est à jour...ne pas avoir de setup, télécharger les nouveaux fichiers et les remplacer les fichiers par les anciens
    Le système standard "Click Once" ne te convient-il pas ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Le système standard "Click Once" ne te convient-il pas ?
    non

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    nous avons mis en place un système de mise à jour similaire
    on lance un autre exe puis on ferme notre appli, puis cet exe copie les fichiers par dessus les anciens et relance l'appli
    transparent pour l'utilisateur, rapide et sans soucis
    pour fermer l'appli on a utiliser un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system.windows.forms.application.exit
    (attention au thread non background)

    et notre appli de mise à jour s'occupe de tuer les processus s'il y en avait plusieurs de lancer ou si celle qui appelle la maj ne se termine pas
    (sinon on peut pas copier les fichiers par dessus)
    l'appli de mise à jour fait quelques lignes, et affiche la progression de la copie
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    nous avons mis en place un système de mise à jour similaire
    on lance un autre exe puis on ferme notre appli, puis cet exe copie les fichiers par dessus les anciens et relance l'appli
    transparent pour l'utilisateur, rapide et sans soucis
    pour fermer l'appli on a utiliser un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system.windows.forms.application.exit
    (attention au thread non background)

    et notre appli de mise à jour s'occupe de tuer les processus s'il y en avait plusieurs de lancer ou si celle qui appelle la maj ne se termine pas
    (sinon on peut pas copier les fichiers par dessus)
    l'appli de mise à jour fait quelques lignes, et affiche la progression de la copie
    Ok merci pour tes indications.

    Si j'ai bien compris, je dois faire:

    1. une nouvel exe contenant les fichiers a remplacer puis killant les process.
    2. de l'application télécharger cet exe, puis le lance.



    la premiere question qui me vient à l'esprit est comment le nouvel exe sait ou est installé l'application?

    [edit] En fait c'est bon, je vais copier mon nouvelle exe dans le répertoire de l'application tout betement. [/edit]

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    oui enfin nous, l'exe de mise à jour est installé avec l'appli normale, et on télécharge juste les fichiers à remplacer à un endroit précis, que l'appliupdate connait, on lance l'appliupdate qui ne fait que tuer s'il le faut, copier et relancer

    enfin nous l'appli a des noms et des emplacement différent selon le client, donc on lance l'exe avec des paramètres (nom de l'exe (pour le chercher dans les processus et tuer les instances mais aussi pour pouvoir le relancer à la fin), nom du repertoire source, nom du repertoire cible) et ca copie tout ce qu'il y a dans source sur cible
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    oui enfin nous, l'exe de mise à jour est installé avec l'appli normale, et on télécharge juste les fichiers à remplacer à un endroit précis, que l'appliupdate connait, on lance l'appliupdate qui ne fait que tuer s'il le faut, copier et relancer

    enfin nous l'appli a des noms et des emplacement différent selon le client, donc on lance l'exe avec des paramètres (nom de l'exe (pour le chercher dans les processus et tuer les instances mais aussi pour pouvoir le relancer à la fin), nom du repertoire source, nom du repertoire cible) et ca copie tout ce qu'il y a dans source sur cible
    Oki

  8. #8
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    oui enfin nous, l'exe de mise à jour est installé avec l'appli normale, et on télécharge juste les fichiers à remplacer à un endroit précis, que l'appliupdate connait, on lance l'appliupdate qui ne fait que tuer s'il le faut, copier et relancer

    enfin nous l'appli a des noms et des emplacement différent selon le client, donc on lance l'exe avec des paramètres (nom de l'exe (pour le chercher dans les processus et tuer les instances mais aussi pour pouvoir le relancer à la fin), nom du repertoire source, nom du repertoire cible) et ca copie tout ce qu'il y a dans source sur cible
    Comment fais tu pour savoir quelles sont les fichiers à télécharger? se sont toujours les memes? Et quand tu en as d'autres à ajouter?

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    nous on fait une copie de nos fichier sur un dossier partagé du serveur
    les applis clientes vérifient sur le serveur les date de modification des fichiers locaux par rapport aux fichiers avec le meme nom sur le server
    si au moins avec une date différente, on copie tout ce qu'il y a sur le dossier du server vers le dossier du client
    donc si on a des nouveaux fichiers, ils viennent avec ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Citation Envoyé par Greg.Diinote Voir le message
    la premiere question qui me vient à l'esprit est comment le nouvel exe sait ou est installé l'application?
    Il suffit de faire en sorte que l'application soit capable d'aller chercher cette information dans un endroit bien précis.

    Par exemple, au moment de l'install, le chemin d'installation choisi par l'utilisateur pourrait être inscrit dans une clé de la base de registre.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  11. #11
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    nous on fait une copie de nos fichier sur un dossier partagé du serveur
    les applis clientes vérifient sur le serveur les date de modification des fichiers locaux par rapport aux fichiers avec le meme nom sur le server
    si au moins avec une date différente, on copie tout ce qu'il y a sur le dossier du server vers le dossier du client
    donc si on a des nouveaux fichiers, ils viennent avec ...
    Peut on lister les fichiers contenu dans un dossier sur un serveur distant?
    (en fait c'est çà mon problème, si ce n'est pas le cas dans mon webservice, je dois passer en paramètre une liste de string contenant le nom de chaque fichier à telecharger.

  12. #12
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pour le server web, il y a des logiciels qui voient l'arborescence des fichiers, donc ca doit etre possible si le site est pas trop sécurisé

    sinon je sais pas trop comment tu procèdes, nous on fait pas ca par le web, on se connecte sur la machine serveur du client, on y met les fichiers et après ca passe par du partage lan

    dans ton cas (pas relu) il me semble que tu veux faire un update web
    n'y connaissant rien, ce que je ferais, c'est un fichier texte avec un nom fixe dans le temps et à un endroit fixe aussi, qui contient le numéro de versions, le nom des fichiers necessaires et le lien pour télécharger chaque
    mais avec des moyens plus récent, un web service devrait permettre d'envoyer ces infos (une classe spéciale qui serait sérialisée contenant le num de version et un dictionary (of nom,lien) par exemple)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 134
    Points : 92
    Points
    92
    Par défaut
    Bonjour à tous,

    J'avais fais une appli dans ce genre, je devais mettre une appli à jour et j'ai créer une mini appli pour pouvoir faire mes mises à jour. pour connaitre les fichiers que je devais transférer, je passai par un fichier xml. c'était pas mal car en plus de sa je pouvais mettre des infos concernant les mises à jour et tout un tas d'info.

    En espérant que ca pourra t'aider

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/07/2010, 11h10
  2. Application pour gsm (mettre en plein ecran)
    Par dib258 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 29/09/2009, 14h19
  3. KIT pour PC à mettre à jour
    Par Go_Ahead dans le forum Composants
    Réponses: 6
    Dernier message: 16/04/2009, 10h13
  4. Réponses: 4
    Dernier message: 06/12/2008, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo