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?
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?
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).
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."
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:
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:
Wir haben auch die Dateispezifikationen hier .
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 .
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?
Ja, aber Sie müssen Ihre Updates manuell zusammenstellen (was sehr mühsam ist, aber durchaus möglich, wenn Sie wyBuild nicht kaufen wollen).
ClickOnce ist meine bevorzugte Methode. Es hat einige Warzen, aber es kommt mit Visual Studio und funktioniert einigermaßen gut.
Vielen Dank für Ihren Kommentar. Ich hatte den Eindruck, dass ClickOnce nur für nicht installierbare Anwendungen pro Benutzer gedacht ist?
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.
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.
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 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.
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.