2 Stimmen

Automatisches Software-Update

Wir entwickeln eine Windows-basierte Anwendung in C#. Ich möchte automatische Updates für die Software bereitstellen. Sobald der Benutzer das Programm ausführt, sollte es in der Lage sein, den Benutzer zu benachrichtigen, dass es die neueste Version vom Server abrufen wird. Wir haben unser Setup mit dem Visual Studio Setup Creator erstellt. So kann die Software erfassen, ob es eine aktualisierte Version gibt. Wir bieten Support für alle unsere Benutzer und aktualisieren ihre Server, wenn es Updates von unserer Seite gibt. Wenn es eine Aktualisierung gibt, können wir einen Eintrag in der Datenbank des Benutzers aktualisieren. Meine Frage ist nun, wo ich die neuesten Updates für die Benutzer speichern soll.

Ursprünglich wollte ich die aktualisierten Setup-Dateien in einem gemeinsamen Ordner auf ihrem Server speichern. Aber unser Unternehmen hatte in der Vergangenheit eine Menge Probleme mit diesem Ansatz. Also musste ich diesen Ansatz aufgeben. Ich überlege nun, die ausführbaren Dateien in den SQL-Server hochzuladen. Unsere Setup-Datei ist im Moment 60 MB groß, kann aber in Zukunft auf über 100 MB erweitert werden. Was meinen Sie dazu? Wäre das eine praktikable Lösung? Haben Sie eine bessere Idee?

1 Stimmen

Was ist Ihr Problem mit Click Once? Richtig ist, saugt für Befehlszeilenanwendungen, aber für GUI-Programm . . sehr schön und einfach. Was genau sind Ihre Einwände gegen sie?

0 Stimmen

Ich habe hier in dieser ähnlichen Frage einige Produkte aufgelistet: stackoverflow.com/questions/4844978/

4voto

cubski Punkte 3128

Versuchen Sie NetSparkle . Es ist ein einfach zu bedienendes Software-Update-Framework für .NET-Entwickler.

2voto

Philip Rieck Punkte 31977

Es ist sehr schwer, eine sinnvolle Antwort zu geben, ohne zu wissen warum Sie mögen clickonce nicht. Ich persönlich finde, dass clickonce zwar nicht für alle Bereitstellungen geeignet ist, aber für viele sehr gut - und in vielen Fällen wird es nicht angenommen, weil die Entwickler nicht wissen, wie sie es konfigurieren oder am besten nutzen können.

Wenn Sie clickonce wirklich nicht verwenden können, werfen Sie einen Blick auf Googles projekt omaha das ist ein ordentlicher Auto-Updater, der bereits auf jedem Windows-Rechner mit Chrome installiert ist.

Und schließlich würde ich, wenn Sie Ihre eigene Datenbank erstellen wollen, wahrscheinlich nicht vorschlagen, sie in SQL Server zu speichern, ohne vorher zu prüfen, wie sich dies zumindest auf Ihre Sicherungs- und Replikationsstrategien auswirken würde. Ich sehe nicht wirklich, welchen Vorteil Sie gegenüber einem HTTP-, UNC-, FTP- oder ähnlichen Speicherbereich hätten.

0 Stimmen

Omaha hat keinen Serverteil. Sie müssen selbst schreiben.

0voto

Steve Punkte 141

Speichern Sie keine große ausführbare Datei in der Datenbank.

Ich bin mir sicher, dass Sie eine vorgefertigte Lösung finden können, aber wenn Sie entschlossen sind, es selbst zu schreiben, könnten Sie in Erwägung ziehen, einfach eine URL, die auf die neueste Version verweist, auf einem Server zu speichern, den Sie bereitstellen. Die Aktualisierungssoftware auf dem Client würde sich einfach bei diesem Server authentifizieren, die neue Version herunterladen und sie dann installieren.

0 Stimmen

<<Sie könnten erwägen, einfach eine URL zu speichern, die auf die neueste Version verweist? Meinen Sie damit, sie in einem Shard-Ordner auf ihrem Server zu speichern und den Ordner für alle zu sharen? Was halten Sie in diesem Fall davon, das aktualisierte Setup vom Server aus auszuführen, anstatt es auf den Client-Computer herunterzuladen?

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