39 Stimmen

Auto-Update-Bibliothek für .NET?

Auf dem Mac gibt es eine sehr schöne Bibliothek namens Funkeln die Programme verwenden können, um die Prüf-/Installationsfunktion für automatische Aktualisierungen zu implementieren.

Gibt es etwas Ähnliches für .NET? Oder nur normales Win32?

1 Stimmen

Sie können Autoupdater.NET ausprobieren unter codeplex Ich habe es selbst entwickelt und es funktioniert sehr gut in meinen Anwendungen. Sie müssen nur eine Zeile in Ihren Code einfügen und fertig.

28voto

Raj Punkte 6790

ClickOnce hat seine eigenen Sicherheitseinschränkungen (verständlicherweise). Wenn Sie die volle Leistung und Kontrolle einer Windows-Anwendung wünschen, sollten Sie sich für die .NET Anwendungs-Updater Komponente. Sie funktioniert hervorragend und wurde sogar von Microsoft intern für ihr .NET-basiertes Spiel verwendet (ich erinnere mich allerdings nicht mehr an den Namen des Spiels).

2 Stimmen

Der Name des Spiels ist Terrerium - codeplex.com/terrarium2

8 Stimmen

Der Link ist tot :(

0 Stimmen

Der Link leitet nun auf eine allgemeine Windows_Presentation_Foundation (WPF) Seite um. Sollte es sein Updater Anwendungsblock ?: "Der Updater Application Block ist eine .NET Framework-Komponente, mit der Sie Updates für Client-Anwendungen erkennen, herunterladen und anwenden können, die an einem zentralen Ort bereitgestellt werden."

15voto

Wyatt O'Day Punkte 1835

Lassen Sie mich zunächst sagen, dass wir eine komplette Aktualisierungslösung anbieten, die Folgendes umfasst:

wyUpdate kümmert sich um alle Vista/Windows 7 UAC-Probleme und alle Probleme mit Dateiberechtigungen, die unweigerlich auftreten, wenn Sie versuchen, komplexe Software zu aktualisieren.

Wenn Sie also einen eigenen Updater erstellen möchten, finden Sie hier einige Tipps:

Erstellen eines eigenen Updaters

Eine gute Anlaufstelle ist die wyUpdate C#-Quellcode Ich habe es bereits erwähnt. Sie können sie ausschlachten und für Ihre eigenen Zwecke verwenden. Einige der darin enthaltenen Algorithmen:

  • Vollständige Unterstützung von Windows Vista / Windows 7 UAC
  • Möglichkeit für eingeschränkte Nutzer, zu prüfen und zu aktualisieren, ob sie über Berechtigungsnachweise verfügen
  • Unterstützung für unübersichtliche Firmennetzwerke. (Wenn Sie jemals mit einem Unternehmen gearbeitet haben, ist dies ein echtes Problem).
  • Schnelles Extrahieren, Parcheando, und Installieren von Dateien.
  • Unterstützung der Registry.
  • Rollback von Dateien und Registry bei Fehler oder Abbruch durch den Benutzer
  • Selbstaktualisierung (keine zurückgelassenen Dateien)

Wir haben auch die Dateispezifikationen hier .

Automatische Aktualisierung

Da die Automatik eine Voraussetzung ist, möchte ich Ihnen sagen, wie wir es mit unserem AutomaticUpdater-Steuerung .

Wir verwenden Named Pipes für die Kommunikation zwischen dem eigenständigen Updater (wyUpdate) und dem Steuerelement für den automatischen Updater, das auf dem Formular Ihres Programms sitzt. wyUpdate meldet dem automatischen Updater den Fortschritt, und der automatische Updater kann wyUpdate anweisen, den Fortschritt abzubrechen, mit dem Herunterladen oder Extrahieren zu beginnen, usw.

Dadurch bleibt der Updater von Ihrer Anwendung getrennt.

Der genaue C#-Code für benannte Leitungen, den wir verwenden, ist in einem Artikel enthalten, den ich vor einiger Zeit geschrieben habe: C#-Anwendung mit mehreren Prozessen wie Google Chrome .

0 Stimmen

Dort heißt es aquí dass "Sie wyBuild benötigen, um das AutomaticUpdater-Steuerelement zu verwenden." Ist es möglich, AutomaticUpdater zu verwenden, ohne wyBuild zu kaufen?

0 Stimmen

Ja, aber Sie müssen Ihre Updates manuell zusammenstellen (was sehr mühsam ist, aber durchaus möglich, wenn Sie wyBuild nicht kaufen wollen).

0 Stimmen

Ich verstehe, ich werde mich darum kümmern. Danke für das Update!

10voto

Jonathan Allen Punkte 65707

ClickOnce ist meine bevorzugte Methode. Es hat einige Warzen, aber es kommt mit Visual Studio und funktioniert einigermaßen gut.

0 Stimmen

Vielen Dank für Ihren Kommentar. Ich hatte den Eindruck, dass ClickOnce nur für nicht installierbare Anwendungen pro Benutzer gedacht ist?

0 Stimmen

Das gilt nur für Anwendungen pro Benutzer...

1 Stimmen

Nein, das gilt in erster Linie auch für installierte Anwendungen. Es kann ziemlich flexibel sein, wenn man sich die Zeit nimmt, es zu lernen.

6voto

Lou Zell Punkte 4863

Ich habe gerade den Prozess durchlaufen, dies zu tun und habe NetSparkle .

Es funktionierte wie beworben für eine Windows-Formulare Anwendung mit einer MSI Installationsprogramm, das die vorherige Version überschreibt. Ich bin sehr froh, dass ich das gefunden habe - ich wollte schon meine eigene Version installieren. Bin ich der einzige, der wirklich einfache .NET-Anwendungen erstellt? Fast alles, was ich mir angeschaut habe, erschien mir als völliger Overkill.

6voto

Jeremy Sena Punkte 208

ClickOnce wird sehr häufig verwendet, aber Sie können das tun, was ich für eine große Anwendung getan habe, und diese ausprobieren:

Ich habe ein wenig an der Logik herumgebastelt und eine meiner Meinung nach bessere XML-Update-Datei erstellt. Wenn ich nun die Clients aktualisieren muss, gebe ich einfach die neuen EXE- oder DLL-Dateien ein und setze die korrekten Versionen in der öffentlichen XML-Datei. Meine Anwendung erkennt die neueren Versionen, wenn sie älter ist, und aktualisiert sich selbst. Wenn Sie dies unter folgenden Bedingungen tun Windows Vista müssen Sie Administratorrechte beantragen, damit in die Programmdateien geschrieben werden kann (falls Sie dort installieren).

Sie können dies auch leicht in C# konvertieren, indem Sie C#/VB.NET Konverter .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X