39 votes

Bibliothèque de mise à jour automatique pour .NET?

Sur le Mac, il existe une très belle bibliothèque appelée Sparkle que les programmes peuvent utiliser pour implémenter la fonctionnalité de vérification / installation des mises à jour automatiques.

Existe-t-il quelque chose de similaire pour .NET? Ou juste Win32 ordinaire?

28voto

Raj Points 4661

ClickOnce a ses propres limites en termes de sécurité (understandbly donc). Si vous voulez profiter au maximum de puissance et de contrôle d'une application Windows, puis aller avec la .NET application de mise à jour du composant. Il fonctionne comme un charme et a même été utilisé par Microsoft en interne pour leur .NET jeu de base (je ne me souviens pas le nom du jeu, tout de même).

15voto

Wyatt O'Day Points 1154

Permettez-moi de commencer par dire que nous offrent une complète mise à jour de la solution, qui comprend:

wyUpdate s'occupe de toutes les Vista/Windows 7 contrôle de compte d'utilisateur de problèmes et de toutes les permissions du fichier des problèmes qui, inévitablement, de pop-up lorsque vous essayez de mettre à jour des logiciels complexes.

Cela étant dit, si vous voulez construire votre propre programme de mise à jour, voici quelques conseils:

La construction de votre propre programme de mise à jour

Un bon endroit pour commencer est le wyUpdate code source en C# je l'ai mentionné ci-dessus. Vous pouvez cannibalisme et de l'utiliser pour vos propres besoins. Certains des algorithmes qu'il contient:

  • Windows Vista / Windows 7 contrôle de compte d'utilisateur support
  • Possibilité pour les utilisateurs limités à vérifier et mettre à jour si ils ont les informations d'identification
  • Soutien pour le vilain de l'entreprise inernet. (Si vous avez déjà travaillé avec une société, c'est un vrai problème).
  • Rapide de l'extraction, de correctifs et de l'installation des fichiers.
  • Soutien du registre.
  • Restaurer les fichiers et la base de registre en cas d'erreur ou d'annulation par l'utilisateur
  • L'auto-mise à jour (pas de fichiers laissés derrière)

Nous avons également le fichier de spécifications ici.

La mise à jour automatique

Depuis qu'il a été automatique est une exigence permettez-moi de vous dire comment nous le faisons avec nos AutomaticUpdater de contrôle.

Nous utilisons des canaux nommés pour communiquer entre le programme de mise à jour autonome (wyUpdate) et la mise à jour Automatique de contrôle assis sur votre formulaire du programme. wyUpdate rapports de progrès pour la mise à jour Automatique, et la mise à jour Automatique peut dire wyUpdate d'annuler les progrès, pour commencer le téléchargement, lancez l'extraction, etc.

Cela permet de maintenir le programme de mise à jour séparée à partir de votre application.

En fait, la nommée tuyaux de code C# nous utilisons est inclus dans un article que j'ai écrit un peu de temps en arrière: Multi-processus d'application en C#, comme Google Chrome.

10voto

Jonathan Allen Points 23540

ClickOnce est ma méthode préférée. Il a quelques verrues, mais il est livré avec Visual Studio et fonctionne assez bien.

6voto

Jeremy Sena Points 183

ClickOnce est très utilisée, mais vous pouvez faire ce que j'ai fait pour une grande application et essayez ces:

J'ai bricolé avec la logique un peu et construit ce que je pensais était une meilleure XML fichier de mise à jour. Maintenant, quand j'ai besoin de mettre à jour les clients, je viens de poster les nouveaux fichiers EXE ou DLL fichiers et définir les versions correctes dans le public fichier XML. Mon application détecte les versions les plus récentes s'il est plus ancien et mises à jour lui-même. Si vous faites cela sur Windows Vista, vous avez besoin de demander des autorisations d'administrateur, de sorte que les Fichiers de Programme peut être écrit (si vous y installer).

Vous pouvez également facilement convertir ceci en C# à l'aide de C#/VB.NET Convertisseur.

6voto

Lou Z. Points 921

Je suis juste allé à travers le processus de le faire et utilisé NetSparkle.

Il a travaillé comme annoncé pour un Windows Forms application avec une MSI d'installation qui remplace la précédente version. Je suis très heureux que j'ai trouvé aussi, j'étais sur le point de rouler mon propre. Suis-je le seul à le rendre vraiment simple .NET applications? La plupart du temps tout j'ai regardé semblait comme un overkill.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X