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

VB.NET Discussion :

Mises a jours automatique, quel fichier?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Par défaut Mises a jours automatique, quel fichier?
    Bonjour,
    J'ai fini de développer mon programme ( ou presque, ca ne se termine jamais un programme). Mais bon, pour le continuer je dois faire des mises a jour.

    Mes mises a jour fonctionne, je suis capable d'allez détecter la version disponible et ainsi de suite. Mon seul problème est le suivant:
    Je fonctionne de façon a ce que s'il y a une nouvelle mise a jour, quelle la télécharge ( aka on réntstalle le programme a nouveau.) Je me demandais s'il n'y avait pas une façon plus simple que de toujours devoir réinstaller le programme ( ex: copier les fichier .dll ou quoi que se soit... )

    Merci de votre aide!!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Par défaut
    Bon , si vous ne pouver pas répondre a ma premiere question, je vous en relance une dans ce cas.


    Comment faire pour lire un fichier qui va se cacher dans l'ordinateur a cette place ci-dessous, qui est dans un zip ( alors il faut ouvrir le zip) et ensuite lire le .exe ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Computer.FileSystem.CurrentDirectory.ToString & "/monfichier.zip"
    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     Private Sub WebClient1_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles WebClient1.DownloadFileCompleted
     
    lire(??)(My.Computer.FileSystem.CurrentDirectory.ToString & "/monfichier.zip".)
     
    end sub

    Merci de m'aider s'il vous plait.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    nous ce qu'on fait pour les mises à jour, c'est que notre programme détecte s'il faut faire une mise à jour, si c'est le cas il rapatrie les fichiers dans un sous dossier à coté du programme
    ensuite il appelle un autre programme et se ferme (system.windows.forms.application.exit)

    l'autre programme prend ensuite la main, il vérifie d'abord qu'aucun processus n'est en cours (si l'appli avait été lancée plusieurs fois, seule celle qui demande la mise à jour s'est fermée avec le .exit), on kill tous les processus du nom de notre appli
    puis on copie les fichiers du dossier temporaire vers le dossier de l'application, on rappelle le .exe et l'application de mise à jour se ferme

    tout ca parce qu'on ne peut pas modifier les fichiers d'une application en cours d'exécution
    donc c'est rapide vu que les fichiers sont rapatriés en arrière plan sur un thread séparé, et la fermeture dure juste le temps de copier les fichiers en local
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Par défaut
    Ok, je comprend comment ca fonctionne. Alors tu me dis que je devrai créer une nouvelle appli juste pour verifier mes mises a jour. Exemple, j'ai mon programme, sur le launch, il vérifie les mise a jour et s'il y en a, il demande si tu veut updater, apres si oui, il se exit et l'autre appli prend le dessus, mais comment tout cela fonctionne?
    Moi je fonctionne comme ceci en ce moment, mais, quels sont les fichiers que tu copies? Comment mettre dans un sous dossier etc.

    Pourrais tu m'éclaircir la voie svp ( avec du code, par exemple, si possible)
    Et, quels sont les fichiers qu'il faut copier? Est-ce-que je dois juste créer un sous dossier et réinstaller mon programme dans le dossier principal?

    Merci de votre aide!!

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pour les fichiers, c'est ceux de ton appli, si tu n'as qu'un .exe, tu n'as que lui a copier
    si tu as 3 dll avec, tu prends les 3 dll avec ...

    après pour la méthode de vérification de mise à jour et d'obtention des fichiers, ca dépend des emplacements (via internet, via réseau local ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Par défaut
    Quelle exe je dois copier. Voici ce que j'ai dans mon fichier de mon programme apres que je l'ai installer.

    - "monprogramme.exe"
    - "monprogramme.exe.config"
    - "monprogramme.exe.manifest"
    - "monprogramme.pdb"
    - "monprogramme.svhost.exe"
    - "monprogramme.svhost.exe.config"
    - "monprogramme.xml"

    Et mes quelque dll soit environt 5

    Maintenant, quelle fichier je dois copier?
    Serait-it possible de juste déléter les fichier a remplacer et mettre les nouveau?

    Ex : On remplace les fichier a remplacé et on garde les dll?

    Merci de votre aide encore =D

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    juste remplacer les fichiers modifiés oui ca pose rarement soucis

    les .vshost ne sont pas à distribuer

    les .xml c'est pas la peine non plus

    les .pdb ne sont pas obligatoires

    .config et .manifest tu peux les mettre oui
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Par défaut
    Ok parfait , et , maintenant que l'on sait quelle sont les fichier a remplacer , commen on fonctionne avec le tous?

    Ok étape 1 : On ouvre le programme, et il regarde s'il a une mise a jour ( Ok )

    étape 2: On ouvre le "autoupdater.exe" qui se trouve dans le folder du programme avec process.start il me semble? (pas sure sur ce point comment ouvrir une appli) et on ferme le programme de base avec un kill(pas sure comment faire)

    Étape 3 : on crée un sub folder pour la mise a jour (aucune idée comment faire)

    Étape 4 : On télécharge les fichier ( C'est parfait sur ce point )

    Étape 5 : on destruit les anciens fichier plus bon ( aucune idée encore )

    Étape 6: Esce qu'il y en a une?

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    il n'y a pas qu'une seule solution ...

    pour les manipulations du système de fichier tout est dans system.io

    cours généraliste : http://plasserre.developpez.com/cours/vb-net/

    sinon il suffit de tester ce que tu écris ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 125
    Par défaut
    Bon , je vais vérifier pour les System.io.file ...

    Mais pour le Kill de l'appli?

    Comment faire ca?

    Merci de ton aide encore

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 13/09/2011, 15h53
  2. Réponses: 3
    Dernier message: 03/05/2011, 09h35
  3. Mise à jour automatique de fichiers excel
    Par benwave dans le forum Excel
    Réponses: 2
    Dernier message: 26/08/2010, 17h42
  4. [XL-2002] Mise a jour automatique d'un master fichier Excel via d'autres fichiers filles Excel
    Par magninde dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/05/2009, 14h08
  5. Mise à jour automatique du fichier contact sous Windows mail
    Par mf190 dans le forum Outlook Express / Windows Mail
    Réponses: 0
    Dernier message: 26/09/2008, 22h42

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