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

Windows Forms Discussion :

Mise à jour d'une application


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 24
    Points : 24
    Points
    24
    Par défaut Mise à jour d'une application
    Bonjour à tous

    Je viens de créer une application en VB.NET avec Visual Studio 2005
    Côté déploiement, un MSI ou clickonce marchent très bien

    Concernant les mises à jour de mon application, clickone fonctionne très bien aussi mais je souhaiterais pouvoir les piloter moi-même à l'aide d'un auto-updater car je préfère que les fichiers soient écrits dans c:\program files\... plutôt que dans les répertoires obscurs de clickonce

    J'ai essayé de faire un simple remplacement de fichier mais l'application refuse alors de démarrer car ce n'est plus la bonne version.

    Quelqu'un aurait-il un exemple de gestion de version à proposer que je puisse voir comment faire ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Même question pour un projet setup de VS :

    Comment ça se passe pour faire une mise à jour ?

    Pcq jusqu'à présent, je me fais ch*** à désinstaller l'ancienne et réinstaller la nouvelle en prenant soin de copier ma db ailleurs pour pouvoir la remettre et ainsi conserver mes données.

    Griftou.
    Kropernic

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 138
    Points : 121
    Points
    121
    Par défaut
    Salut,

    S'il s'agit juste de mettre à jour un .exe, tu peux faire un petit code qui teste la date de création ou la version de l'exe en local, qui vérifie la disponibilité d'une MAJ sur un serveur, puis si celle-ci est plus récente, supprime l'exe local, et télécharge le nouveau.
    Mais il faut peut-être que les deux exe aient le même GUID (ou pas justement) ou quelquechose comme cela. Mais mes compétences s'arrêtent là

    Petit Edit: J'ai trouvé ça:
    http://www.developpez.net/forums/showthread.php?t=32389

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2003
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2003
    Messages : 201
    Points : 182
    Points
    182
    Par défaut
    moi aussi, je passe par la mise à jour d'un .exe et c'est que mon programme en se fermant, appelle un autre programme (meme un script si on veut) qui vérifi si une nouvelle version est disponnible dans mon répertoire de nouvelle version et si oui, crée un backup de la version utilisé, copie la nouvelle et émet un tag de mise a jour.
    \|/ que la force soit avec vous

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Pour ma part, vous n'y êtes pas du tout. Et si j'ai bien compris, ce n'est pas non plus ce que totor cherche.

    Je ne cherche pas à faire de mise à jour automatique. Ce que je veux, c'est que, pour une application X qui est installée sur une machine cliente, c'est pouvoir envoyé un exe Setup qui installe la nouvelle version de mon application sur la machine du client.

    Donc ce que je voudrais c'est faire en sorte que mon projet de déploiement, qui me génére le fichier setup que j'envoie au client pour qu'il puisse installer mon application, puisse également, lorsqu'il voit que l'application est déjà installée, remplacer juste ce qu'il faut pour faire la mise à jour sans perte de données.

    Est-ce clair ? Il ne s'agit donc pas de mise à jour automatique en téléchargeant quoi que ce soit par le web.

    Griftou.
    Kropernic

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 24
    Points : 24
    Points
    24
    Par défaut
    Ouija33 ---> Justement, c'est ce que j'ai voulu essayer mais malheureusement, dès que .net voit que j'ai remplacé l'exe ou une des dll de mon appli, il ne se lance plus car il considère que ce n'est plus la bonne version.

    Est-ce que pour que ça marche, tu as désinscris ton assembly dans le GAC ?

    Je trouve que c'est dommage que depuis clickonce, on ne puisse pas piloter les répertoires, parce que sinon, c'était parfait.
    Pour info, mon application est déployée en local mais aussi à distance (Chine et Tchéquie)

  7. #7
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par griftou Voir le message
    Je ne cherche pas à faire de mise à jour automatique. Ce que je veux, c'est que, pour une application X qui est installée sur une machine cliente, c'est pouvoir envoyé un exe Setup qui installe la nouvelle version de mon application sur la machine du client.
    C'est étrange ce que tu veux faire...
    Tu veux envoyer un programme qui met à jour un autre programme, mouai, car tu veux faire payer la mise à jour?

    Ce que tu cherches à faire, c'est un genre de clickonce, tu fais telechager un programme qui va telecharger les fichiers et les installer, mais pour faire une mise à jour, au lieu que ce soit un utilitaire du programme qui fasse la mise à jour, tu veux obliger la personne à telecharger une nouvelle foi un p'tiit prog qui va faire la mise à jour...

    Mouai, pourquoi pas
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  8. #8
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    euh non.

    La personne ne télécharge rien. D'ailleurs, je développe pour mon boulot en interne ou pour des amis. Donc personne ne paie jamais rien si ce n'est mon salaire pour la boite qui m'engage ^^.

    Ce que je veux dire, c'est que quand une appli est "finie", je donne 3 fichiers au "client" et avec ça, il peut installer l'appli facilement.

    Que faire quand il s'agit d'une mise à jour de l'appli ? Si je renvoie ces 3 mêmes fichiers contenant la nouvelle version, que va-t-il se passer ?

    Du fait que j'inclus souvent mes bases de données dnas mes applications, ne va-t-il pas y avoir une perte de données ?

    Est-ce plus clair ? Loin de moi l'idée de faire du commerce. Je bosse et reçoit mon salaire. Quand je file des applis, j'm'occupe pas des licences, j'veux juste que ça tourne.

    Griftou.
    Kropernic

  9. #9
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Alors, pour déployer, créer un install avec vs 2008 si tu inclus une BDD, c'est pas cool!
    En effet, il ne se prend pas la tête, lors d'une mise à jour il vire tout et te remet tous les fichiers neufs.. pas cool!

    Alors je te conseil Dreamshield c'est gratuit, c'est un developpeur qui est sur le forum qui fait ça.

    http://dreamshield.developpez.com

    Après, en ce qui concerne la mise à jours à distance, c'est gérable aussi avec dreamshield, mais faut que tu fasses ton propre logiciel, il y a un exemple inclu avec dreamshield.

    Bonne chance!
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  10. #10
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Peux-tu préciser le terme "mise à jour à distance" ?

    Je ne cherche nullement à mettre en place un système de mise à jour automatique hein.

    Je veux juste être sûr que ce soit bien clair.

    Si mise à jour il y a, c'est moi qui envoie les fichiers à l'utilisateur.
    Et comme dans la plupart des cas l'utilisateur ne pige pas grand chose (pour ne pas dire rien) à l'informatique, j'aimerais que ce soit juste un exe à exécuter et tout soit automatique. Mise en place du nouveau soft à l'emplacement de l'ancien avec conservation des données.

    Tu me parles de dreamshield, je vais aller y jeter un oeil.

    Jusqu'à présent je m'étais contenter des projets de déploiements disponible dans visual studio mais vu que je n'ai trouvé nulle part des explications clairs à ce sujet, je m'amusais à chaque fois à désinstaller l'ancienne version pour réinstaller la nouvelle en ayant pris soin de faire un backup de la db que je restore après l'installation de la nouvelle version.

    Sinon, pourquoi c'est pas "cool" d'inclure la db dans le projet d'install ? Ou bien j'ai pas compris et tu trouves que c'est VS qui est pas cool de tout virer et dans ce cas, j'suis tout à fait d'accord ^^

    Griftou.
    Kropernic

  11. #11
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Quand je dis mise à jour à distance, je parlais mise à jour automatique, mais je pense que c'est parce que tu n'as pas de site que tu ne peux pas.

    Après en ce qui concerne dreamshield, je sais que tant que c'est une mise à jour, il ne remplacera que les nouveaux fichiers, donc si tu mets à jour ton .exe la BDD n'est pas remplacées, mais ça implique aussi que si tu veux faire une mise à jour de la BDD tu dois passer par un script.

    Enfin, ce n'est pas mettre la BDD qui n'est pas cool, c'est juste VS qui vire tout qui n'est pas cool.

    il existe un forum sur developpez en cas de probleme, de question etc pour dreamshield.

    Après, le problème que j'ai avec dreamshield, c'est, en cas de réinstallation, il va tout effacer et tout réinstaller, don suprime la BDD et la remet vide, ce qui n'est pas coo, alors fuat gérer ça avec une classe install.

    Voilà j'espère que ça te va.
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  12. #12
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Pour ce qui est de DreamShield il est en effet possible de définir un comportement personnalisé pour l'installation des fichiers.
    Quand une installation est faite mais qu'une version plus ancienne du produit est déjà présente, il la désinstalle automatiquement avant d'installer la nouvelle. Mais vu que la désinstallation respecte les conditions qu'on lui a donné on peut demander à l'installeur de n'installer la BD que si elle n'est pas déjà présente sur l'ordinateur cible, et de ne pas la supprimer lors de la désinstallation. L'installation d'une nouvelle version ne supprimera donc pas la BD qui restera donc inchangées.

    Pour avoir ce comportement il n'est pas nécéssaire de coder une seule ligne de code. Tout s'obtient via les options d'installation des fichiers que l'on peut avoir via un click droit dans la liste des fichiers à installer (dans l'éditeur de projet). Pour ce qui est de désinstaller automatiquement l'ancienne version (en respectant les conditions d'installation/désinstallation des fichiers), il n'y a rien à faire car c'est le comportement par défaut.

    Pour ce qui est du comportement de la réinstallation, celà ne devrait tout de même pas changer car une réinstallation c'est une désinstallation suivie d'une installation, tout ceci toujours en respectant les conditions d'installation/désinstallation des fichiers. Mais bien sur, il faut spécifier les options manuellement car le comportement standard pour une réinstallation quelque soit l'installeur est bien de remettre le programme à son état d'origine ...

    Voilà

  13. #13
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Et bien je pense que je vais me mettre à dreamshield. Merci pour toutes ces précisions.

    Je suis quand même étonné que VS ne permettent pas de faire la même chose. C'est tout de même quelque chose d'essentiel. Ou alors, j'ai pas trouvé comment faire ^^.

    Griftou.
    Kropernic

  14. #14
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Et là vient le problème smykey, si je veux désinstaller mon application totalement, il va rester ma BDD...
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  15. #15
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    smykey c'est qui ?

    Sinon pour ce qui est de supprimer la DB dans les options d'installation/désinstallation des fichiers il est possible d'afficher une boite de dialogue demandant à l'utilisateur s'il souhaite supprimer le fichier ou le conserver...

  16. #16
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Ah ben oui, mais quand même tous les utilisateurs ne peuvent pas toujours comprendre ça

    Nan,mais je vais chercher le grain, t'inquiète
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

Discussions similaires

  1. Mise à Jour d'une Application
    Par YOP33 dans le forum VBA Access
    Réponses: 4
    Dernier message: 13/09/2008, 10h12
  2. Mise à jour d'une application déja publiée?
    Par Pingva dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/06/2008, 14h26
  3. [PHP-JS] mise à jour d'une application php4
    Par java_fun dans le forum Langage
    Réponses: 1
    Dernier message: 15/05/2008, 04h01
  4. Réponses: 5
    Dernier message: 09/10/2007, 20h49
  5. Conseil-Mise à jour d'une application
    Par thesmall dans le forum Langage
    Réponses: 3
    Dernier message: 13/02/2007, 10h02

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