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 :

Mis à jour automatique


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 16
    Points : 9
    Points
    9
    Par défaut Mis à jour automatique
    Bonjour à tous,

    Je suis actuellement en train de re-programmer après une période de pause en raison de ma scolarité (1ere), et donc actuellement, le seul point où je bute sur mon projet est le suivant :
    -Faire un sorte que quand mon logiciel s'ouvre, il vérifie automatiquement s'il n'y à pas une mise à jour de disponible sur un site pré-définis, genre "http://www.monsite.com/monlogiciel.exe".

    J'ai vus qu'il y a dans Visual Basic Express 2010 la catégorie : Publier, dans le panneau "MyProject".
    Le seul bémol, est que pour une raison qui apparemment s'identifie au fait que je n'est pas ce qu'il faut sur le serveur en fance (mutualisé), et que donc il faudrait un hébergeur acceptant et disposant d'une structure .NET. Dans ce cas là, sachant que cela va me coûter encore de l'argent, je préfère en venir à une autre méthode, c'est à dire insérer un système de MAJ dans mon code (barre de progression avec %, vérification au démarrage du logiciel , d'une possible maj sur le serveur, etc.).

    Donc je fais appel à vous, car mes compétences ne sont pas aussi avancés, le temps n'est malheureusement pas coutume de nos jours(école, travail, etc.).

    Merci de votre aide et de votre lecture.

  2. #2
    Membre averti Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Points : 422
    Points
    422
    Par défaut
    Pas besoin d'avoir un serveur IIS, tu peut publier ton application, et configurer pour quel se mette à jour depuis un site web, ou un serveur ftp par exemple.
    Dans ton cas, tu peut faire une application Click-Once, qui ne nécessite pas d'installation et se met à jour.
    Paramètres : Sécurité => Activer les paramètres de sécurité ClickOnce
    puis dans publication, tu règles les différents paramètres.

    Tu peut voir plus en détail, la procédure de publication ici : http://plasserre.developpez.com/cour...e=diffuser#XIV

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 172
    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 172
    Points : 25 112
    Points
    25 112
    Par défaut
    méthode sans clickonce :

    la première chose c'est de savoir qu'il y a une mise à jour à faire, pour ca il faut comparer entre la version installée, et la version sur le serveur
    pour ca, soit un numéro de version, soit une liste de fichiers avec leur date de modif
    à savoir que parfois en cas de bug génant il est utile de revenir à une version précédente (pour ca les dates de modif et <> plutot que > est pas mal)
    tu peux donc mettre un fichier texte avec le numéro de version ou les fichiers dedans, et le lire avec un httpwebrequest (ca peut aussi gérer l'ajout de fichier)

    ensuite pour rappatrier la maj, personnellement moi je n'aime pas les softs qui te demandent si tu veux faire la maj, encore moins ceux qui demandent ca à l'ouverture (= au moment où tu en as besoin et que donc tu n'as pas le temps de télécharger) et encore moins ceux qui téléchargent au moment où tu dis oui et que tu attends 3 plombes
    donc en cas de mise à jour nécessaire, tu télécharges direct les fichiers dans un dossier temporaire (sous dossier par exemple) comme ca la maj visible par l'utilisateur sera instantanée, même si tu choisis de la faire au démarrage
    on peut aussi imaginer que tu forces à fermer l'appli en cas de maj pendant l'utilisation du soft

    pour la copie des fichiers à proprement dite, on ne peut pas remplacer un fichier en cours d'exécution, sauf si shadowcopy = true, mais cette fonction que je n'ai jamais utilisé est apparemment étrange
    (le principe c'est qu'au démarrage, les fichiers sont mis en ram par .net pour ne pas verrouiller les fichiers)
    autrement tu peux soit faire un launcher qui s'occupe de copier les fichiers plus récent s'il y en a dans le sous dossier, et lancer le vrai exe du programme
    ou encore faire un updater, que ton programme appellerait après avoir fait application.exit qui lui copierais les fichiers par dessus puis relancerait l'exe

    à noter que sur des systèmes utilisant terminal server, où plusieurs utilisateurs peuvent lancer l'appli, le shadowcopy semble le plus approprié, ou alors un launcher avec un sous dossier par version ; car meme si un exe se ferme par application.exit, d'autres peuvent etre encore en exécution et empêcher la copie
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Justement, j'essaye avec mon ftp, mais je n'y arrive pas, j'ai ce message :
    Erreur 1 Échec lors de la connexion à 'ftp://ftp.*******.**/', accompagné de l'erreur suivante*: Impossible de créer le site Web 'ftp://ftp.******.**'. Les composants nécessaires à la communication avec les extensions serveur FrontPage ne sont pas installés. 1 1 Social Networks
    Je n'ai pas eu la possibilité de voir un tutoriel Click-Once, ce qui m'intéresse énormément, sur le mode par FTP.
    Serait-il possible d'en faire une vidéo ou des images d'exemples, merci beaucoup de votre aide , ou par des écrits. Merci

  5. #5
    Membre averti Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Points : 422
    Points
    422
    Par défaut
    Tu peut faire comme ça dans ton cas :
    T'exporte tous les fichiers nécessaires sur ton PC, à défaut d'un serveur ou autre chose


    ca génére un setup, et un dossier Application Files
    Tu héberge le contenu de Application Files quelque part

    Tu règle l'emplacement de mis à jour


    Tu lance le setup, et ton installation se mettra automatiquement à jour à chaque lancement

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Jerede Voir le message
    Tu peut faire comme ça dans ton cas :
    T'exporte tous les fichiers nécessaires sur ton PC, à défaut d'un serveur ou autre chose


    ca génére un setup, et un dossier Application Files
    Tu héberge le contenu de Application Files quelque part

    Tu règle l'emplacement de mis à jour


    Tu lance le setup, et ton installation se mettra automatiquement à jour à chaque lancement
    Bonjour, merci de votre réponse :

    J'ai testé la méthode, en revanche :
    -Un utilisateur télécharge le .exe en ligne.
    -Il le lance, et là, gros problème :
    -L'installateur dit qu'il manque un fichier, et ce, parce le lieu de publication est dans un dossier en local, et non sur mon ftp, donc ça ne marche pas, et l'utilisateur ne peut pas faire l'installation du logiciel.

    La mise à jour marche, mais pas l'installation .
    Il faudrait vraiment que je procède par ftp.

  7. #7
    Membre averti Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Points : 422
    Points
    422
    Par défaut
    Clic sur détail et copie le log que je vois ou ça plante

  8. #8
    Futur Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 16
    Points : 9
    Points
    9
    Par défaut
    INFORMATIONS SUR LA VERSION DE LA PLATEFORME
    Windows : 5.1.2600.196608 (Win32NT)
    Common Language Runtime : 4.0.30319.1
    System.Deployment.dll : 4.0.30319.1 (RTMRel.030319-0100)
    clr.dll : 4.0.30319.1 (RTMRel.030319-0100)
    dfdll.dll : 4.0.30319.1 (RTMRel.030319-0100)
    dfshim.dll : 4.0.31106.0 (Main.031106-0000)

    SOURCES
    Url de déploiement *: file:///C:/Documents%20and%20Settings/Administrateur/Bureau/SN/Social%20Networks.application

    RÉSUMÉ DES ERREURS
    Un résumé des erreurs est fourni ci-dessous. Les détails de ces erreurs sont indiqués plus loin dans le fichier journal.
    * L'activation de C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application a provoqué une exception. Les messages d'erreur suivants ont été détectés*:
    + Échec du téléchargement de file:///C:/Documents and Settings/Administrateur/Bureau/SN/Social Networks.application.
    + Impossible de trouver le fichier 'C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application'.
    + Impossible de trouver le fichier 'C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application'.
    + Impossible de trouver le fichier 'C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application'.

    RÉSUMÉ DES ERREURS DE LA TRANSACTION DU MAGASIN DE COMPOSANTS
    Aucune erreur de transaction n'a été détectée.

    AVERTISSEMENTS
    Aucun avertissement n'a été émis pendant cette opération.

    ÉTAT DE LA PROGRESSION DE L'OPÉRATION
    * [19/10/2010 13:11:00] : L'activation de C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application a commencé.

    DÉTAILS DE L'ERREUR
    Les erreurs suivantes ont été détectées au cours de cette opération.
    * [19/10/2010 13:11:00] System.Deployment.Application.DeploymentDownloadException (sous-type inconnu)
    - Échec du téléchargement de file:///C:/Documents and Settings/Administrateur/Bureau/SN/Social Networks.application.
    - Source*: System.Deployment
    - Trace de la pile*:
    à System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
    à System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
    à System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
    à System.Deployment.Application.DownloadManager.DownloadManifestAsRawFile(Uri& sourceUri, String targetPath, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
    à System.Deployment.Application.DownloadManager.DownloadDeploymentManifestDirectBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options, ServerInformation& serverInformation)
    à System.Deployment.Application.DownloadManager.DownloadDeploymentManifestBypass(SubscriptionStore subStore, Uri& sourceUri, TempFile& tempFile, SubscriptionState& subState, IDownloadNotification notification, DownloadOptions options)
    à System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
    à System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)
    --- Exception interne ---
    System.Net.WebException
    - Impossible de trouver le fichier 'C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application'.
    - Source*: System
    - Trace de la pile*:
    à System.Net.FileWebRequest.EndGetResponse(IAsyncResult asyncResult)
    à System.Net.FileWebRequest.GetResponse()
    à System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
    --- Exception interne ---
    System.Net.WebException
    - Impossible de trouver le fichier 'C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application'.
    - Source*: System
    - Trace de la pile*:
    à System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)
    à System.Net.FileWebRequest.GetResponseCallback(Object state)
    --- Exception interne ---
    System.IO.FileNotFoundException
    - Impossible de trouver le fichier 'C:\Documents and Settings\Administrateur\Bureau\SN\Social Networks.application'.
    - Source*: mscorlib
    - Trace de la pile*:
    à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    à System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
    à System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
    à System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync)
    à System.Net.FileWebStream..ctor(FileWebRequest request, String path, FileMode mode, FileAccess access, FileShare sharing, Int32 length, Boolean async)
    à System.Net.FileWebResponse..ctor(FileWebRequest request, Uri uri, FileAccess access, Boolean asyncHint)

    DÉTAILS DE LA TRANSACTION DU MAGASIN DE COMPOSANTS
    Aucune information disponible sur la transaction.
    Dans le lieu de publication j'avais mis mon fichier en local, comme dit dans ton topic.
    J'ai fais installation par CD ou DVD.
    j'ai fais pour le lieu de mise à jour http://**.******.* la mise à jour marche quand à elle.

  9. #9
    Membre averti Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Points : 422
    Points
    422
    Par défaut
    Laisse ton fichier .application avec le setup alors

  10. #10
    Membre averti Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Points : 422
    Points
    422
    Par défaut
    Dans les propriétés du Projet, on clic sur assistant publication


    Tu met tout ça dans le dossier de ton choix


    Tu règle l'URL ou tu hébergera les fichiers


    Dans Mis à jour tu règle aussi l'url de mis à jour :


    Dans les options, le nom du produit et de l'éditeur


    Tu publie le tout, tu obtiens dans ton dossier :


    Tu héberge les fichiers, et t'a plus qu'a fournir le setup au client

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

Discussions similaires

  1. Mis à jour automatique
    Par AMO05 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/05/2009, 09h06
  2. Desactiver la mis à jour automatique de jws
    Par Dx_ter dans le forum JWS
    Réponses: 2
    Dernier message: 16/03/2009, 15h51
  3. [outils] Diagramme mis à jours automatiquement
    Par cysboy dans le forum Outils
    Réponses: 14
    Dernier message: 12/11/2007, 08h43
  4. Formulaire : total mis à jour automatiquement ?
    Par Corinne dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 25/07/2007, 13h50
  5. Mis à jour automatique signature
    Par Vinceee38 dans le forum Windows XP
    Réponses: 7
    Dernier message: 24/05/2007, 16h20

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