2009-07-30 5 views
2

VS 2008 SP1Création d'un programme de mise à jour

J'ai créé une application que j'ai installée sur l'ordinateur de l'utilisateur. Cependant, je souhaite que l'application soit mise à jour automatiquement. Mais je ne suis pas sûr si cela mettrait vraiment à jour l'application.

L'application téléchargera tous les fichiers du serveur Web et remplacera les fichiers dans le répertoire où le programme a été installé. L'utilisateur va redémarrer l'application. Je veux juste être sûr, parce que je ne peux pas remplacer les dossiers installés avec ceux mis à jour. Comme l'application sera en cours d'exécution. Donc vraiment l'application ne peut pas supprimer/se remplacer. Donc, je pensais que je pourrais télécharger dans un autre répertoire, si le programme est installé dans ce répertoire 'programmes/application/1.0.0' alors je pourrais télécharger les fichiers dans 'program files/application/1.0. 1'.

Cependant, lorsque le programme redémarre, comment peut-il savoir qu'il doit s'exécuter à partir du répertoire 1.0.1?

Je ne peux pas utiliser clickonce ou le bloc de mise à jour pour cela.

Un grand merci pour tous les conseils,

+0

ClickOnce a certaines de ces caractéristiques je pense. –

+0

Pourquoi ne pas utiliser ClickOnce? – Amy

Répondre

1

Vous pouvez envelopper l'application avec un petit programme de chargement qui fera une vérification de version. S'il est périmé, téléchargez les binaires les plus récents et écrasez les anciens. Si vous voulez conserver toutes les versions que vous pourriez vous retrouver avec:

c:\program files\mycompany\myapp\loader (the newer version will point to the latest directory) 
c:\program files\mycompany\myapp\v1.0 
c:\program files\mycompany\myapp\v1.1 

S'il est sur un réseau local, vous pourriez être en mesure de la bande passante se permettre de simplement re-télécharger les binaires sur le démarrage à la place.

+0

Existe-t-il un exemple de code qui montre ce que vous entendez par wrapper qui vérifie la version et s'auto-écrase? – Antony

+0

Désolé pour la réponse tardive. Un exemple rapide est que vous écrivez une application de console qui a un fichier de configuration qui est mis à jour. Il télécharge à partir d'un emplacement central. Ce fichier de configuration peut pointer vers un répertoire et lancer l'application appropriée. Vous pourriez le rendre plus intelligent en ayant à "udpate" (aka supprimer) des choses plus anciennes. –

2

Tout cela est déjà fait pour vous si vous utilisez le déploiement ClickOnce (propriétés du projet, PUBLIER).

+0

roboUK a mentionné que ClickOnce n'est pas une option. –

+0

Pour cette application, je ne peux pas utiliser clickOnce. Toute autre idée serait la bienvenue. – ant2009

3

Une bonne option consiste à créer une application de mise à jour indépendante.

Le programme de mise à jour télécharge la version la plus récente et supprime/remplace l'ancien.

Je pense que c'est la meilleure option, parce que vous pouvez exécuter le programme de mise à jour dans l'application principale (donc vous pouvez dire que c'est une mise à jour automatique), ou directement par l'utilisateur avec un raccourci.

Le programme de mise à jour peut vérifier si l'application est en cours d'exécution et demander à l'utilisateur de quitter l'application ou de la supprimer elle-même.

Pardonne mon anglais ...

Bonne chance

1

Utilisez Windows Installer pour l'installation et la mise à jour. Si vous signez vos paquets d'installation, l'utilisateur peut mettre à jour votre application sans avoir besoin de privilèges d'administrateur.

J'ai fait un site Web et une application qui démontre la fonctionnalité de ce que vous voulez sur my website.

1

je regarderais en ClickOnce.Il peut être configuré de plusieurs manières, pour vérifier les mises à jour avant l'exécution de l'application, pour télécharger à partir du serveur chaque fois qu'il est exécuté ou pour rechercher les mises à jour après le démarrage de l'application.

J'ai fait ClickOnce Deployment et une application de mise à jour indépendante, ils fonctionnent tous les deux bien. Vous aurez évidemment plus de flexibilité sur une application de mise à jour que vous créez vous-même, cependant, ClickOnce peut également être configuré pour installer des prérequis tels que .NET Framework, Windows Installer, etc ... pour que votre application s'exécute.

Questions connexes