Frage

Ich möchte ein „automatisches Update“-System für eine Windows-Anwendung implementieren.Im Moment erstelle ich halbmanuell eine „appcast“ was mein Programm überprüft und den Benutzer benachrichtigt, dass eine neue Version verfügbar ist.(Ich benutze NSIS für meine Installateure).

Gibt es eine Software, die ich verwenden kann und die den „automatischen“ Teil der Updates übernimmt, vielleicht ähnlich wie Funkeln auf dem Mac?Irgendwelche Probleme/Fallstricke, die ich beachten sollte?

War es hilfreich?

Lösung

Es gibt keine Lösung, die so reibungslos ist wie Sparkle (soweit ich weiß).

Wenn Sie eine einfache Möglichkeit zur Bereitstellung und Aktualisierung von Anwendungen benötigen, Klicken Sie einmal ist eine Option.Leider ist es unflexibel (z. B. keine Installation pro Maschine statt pro Benutzer), undurchsichtig (Sie haben nur sehr wenig Einfluss und Klarheit und Kontrolle darüber, wie die Bereitstellung tatsächlich funktioniert) und nicht standardisiert (die Pfade, in denen die installierte App gespeichert wird). sind anders als alles andere unter Windows).

Viel näher an dem, was Sie fragen Durchklicken, ein Nebenprojekt von WiX, aber ich bin mir nicht sicher, ob es sich noch in der Entwicklung befindet (wenn ja, sollten sie das klarer sagen …) – und es würde auf jeden Fall MSI verwenden, nicht NSIS.

Wahrscheinlich ist es am besten, etwas selbst zu rollen.Ich würde gerne ein Sparkle-ähnliches Projekt für Windows sehen, aber bisher scheint es noch niemand versucht zu haben.

Andere Tipps

Es gibt jetzt eine Windows-Portierung von Sparkle http://winsparkle.org.

Die automatische Aktualisierung von Google Chrome basiert auf Omaha:

http://code.google.com/p/omaha/

Ihre Überblick hat einen tollen Abschnitt darüber, warum es nötig war:

Der Browser forderte den Benutzer normalerweise mit einer langen Reihe technischer, verwirrender und beängstigender Dialoge auf, die alle versuchten, den Benutzer davon zu überzeugen, nicht zu installieren.Dann wurde dem Benutzer ein Assistent mit Auswahlmöglichkeiten angezeigt, die er nicht brauchte oder für die er sich nicht entscheiden konnte.Diese Faktoren führten zusammen zu einer schlechten Benutzererfahrung und großen Ausfällen während des App-Installationsprozesses

Es ist eine gute Idee, eine Lösung eines Drittanbieters zu verwenden, da automatische Updates insbesondere unter Windows Vista/7 (UAC) mühsam sein können.Für das, was es wert ist, ist das Produkt, das mein Unternehmen verwendet AutoUpdate+ und es scheint ziemlich gut zu funktionieren.

Für .NET veröffentlichte Microsoft Patterns + Practices vor einiger Zeit das Anwendungsaktualisierungsblock.Das war (meiner Meinung nach) ziemlich übertrieben und überkonstruiert, hat aber seinen Zweck ganz gut erfüllt.

Im Wesentlichen verwendete es einen „Stub Loader“, um ein Manifest und einen Webdienst zu überprüfen, um zu sehen, ob eine neuere Version des Programms als die installierte verfügbar war, und nutzte dann die BITS-Hintergrund-Downloader-Technologie, um eine neue Version herunterzuladen, falls eine verfügbar war der Kellner.

Sobald die neue Version heruntergeladen und installiert wurde (bei .NET ist dies so einfach wie ein xcopy in den entsprechenden Ordner), aktualisiert die Anwendung das Manifest.Beim nächsten Laden des Programms würde die neue Version gestartet.

Obwohl der Patterns + Practices-Code .NET-spezifisch ist, gibt es dort nichts, was nicht für eine Nicht-.NET-Anwendung kopiert werden könnte, insbesondere wenn Sie die Möglichkeit haben, den Installationsprozess unbeaufsichtigt im Hintergrund auszuführen.

Ich habe eine ähnliche Frage gestellt.Folgen Sie dem Link, um die Antworten zu sehen.Selbstaktualisierung

Wenn Ihre Bewerbung in .Net geschrieben ist, können Sie es versuchen Klicken Sie einmal.Allerdings ist es mit diesem Ansatz schwierig, während der Installation administrative oder benutzerdefinierte Aktionen durchzuführen.

wyUpdate sieht wirklich gut aus.Sehen Sie sich das Video hier an:http://wyday.com/wybuild/help/automatic-updates/

Für .NET-Anwendungen möchten Sie vielleicht einen Blick darauf werfen NetSparkle, eine Sparkle-Variante für .NET-Programme.Es ist ziemlich neu (von 2011) und wird aktiv weiterentwickelt.

Bin gerade von einer Antwort auf meine eigene Frage zum gleichen Thema hierher gekommen – ich erwähne noch eine andere Aktualisierungslösung in meinem Frage.Es verwendet einen Stub-Loader und eine XML-Datei, um auf die neueste ausführbare Datei zu verweisen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top