Umwelt:
- .NET
- C#
- Visual Studio 2005 と
- Einige Komponenten von Drittanbietern
- .vdproj-Dateien (Setup-Projekte in Visual Studio 2005) für die .msi-Erstellung - nicht " ClickOnce Einsatz"
Problem
Ich befinde mich in einer Projektphase, in der im Laufe eines Tages mehrere Aktualisierungen an dem Projekt vorgenommen werden. Da jede Änderung nur geringfügig ist (höchstens zwei Baugruppen), wäre es für den Benutzer praktisch, eine Art automatische Aktualisierung zu verwenden, die sowohl schnell als auch sorgenfrei ist.
Vorschlag
Ich möchte ein einfaches System, das meine Anwendungsdateien irgendwo auf meinem Server speichern würde, zusammen mit einer XML-Datei, die sie mit ihren Hashes auflisten wird. Eine Desktop-Anwendung liest die XML-Datei, vergleicht die Hashes, lädt die erforderlichen Dateien herunter, startet die Anwendung neu und der Benutzer hat eine neue Version, ohne es zu bemerken.
Meine Gedanken gehen also weiter...
Antrag des Kunden: einfach, ein oder zwei Tage Arbeit. Überlegungen:
- Sie müssen sich um die Berechtigungen zum Schreiben von Dateien in das Benutzerprogrammverzeichnis kümmern (eigentlich bin ich hilflos, wenn ich das nicht kann)
- Sie müssen einen Aktualisierungsprozess starten, der Dateien herunterlädt und ersetzt und die ursprüngliche Anwendung neu startet.
- Müssen Sie eine lokale XML-Datei mit Hashes bei der ersten Ausführung zu machen, und für das brauche ich lokale Liste der bereitgestellten Dateien, die sich ändern könnten (da alle von ihnen nicht nur in der lokalen Anwendung Ordner sind)
Die Serverseite ist trivial, aber es gibt auch einige Überlegungen:
- Die Root-Datei mit aktueller Versionsbeschreibung, Dateiliste und Hashes
- Manuelles Hochladen von Dateien auf den Server, Erstellung eines Tools zum Hashing von Dateien
Gibt es ein Tool, das meinem Gedankengang folgt, um dies ohne großen Aufwand zu tun?