UpdateCheck-Klasse

Stellt einfache Methoden bereit, um anhand einer XML-Datei im Internet zu prüfen, ob ein Programm in einer aktuelleren Version verfügbar ist und öffnet ggf. die Webseite.

Archivierter Inhalt: Dieser Quelltext ist derzeit inaktiv und möglicherweise veraltet, nicht mehr gewartet oder funktioniert nicht mehr.

Stellt einfache Methoden bereit, anhand einer XML-Datei im Internet zu prüfen, ob ein Programm in einer aktuelleren Version verfügbar ist und öffnet ggf. die Webseite. Dafür muss nur eine einfache XML-Datei an einer bekannten Web-Adresse abgelegt werden, die das Programm herunterlädt und auswertet. Ist die verfügbare Version neuer als die des aufrufenden Programms, kann entweder die Webseite geöffnet oder eine beliebige andere Aktion ausgeführt werden.

Des Weiteren bietet die Klasse eine Möglichkeit an, aktuelle Warnmeldungen zu einem Programm anzuzeigen. Diese werden in der XML-Datei gespeichert und falls gewünscht vom Programm in einem Meldungsfenster angezeigt. Dadurch kann der Entwickler die Anwender z. B. auf kritische Probleme mit einer Programmversion hinweisen.

Kompatibilität: .NET Ab Version 1.1

Beispiel

Der folgende Beispielcode zeigt, wie die UpdateCheck-Klasse verwendet werden kann. Ein ganz einfacher Aufruf der Klasse sieht wie folgt aus und kann z. B. beim Programmstart oder beim Klicken auf eine Schaltfläche oder einen Menübefehl stattfinden. Wenn Meldungen verfügbar sind, werden sie angezeigt. Wenn eine neuere Version verfügbar ist, wird die Webseite geöffnet.

UpdateCheck.Check("http://unclassified.software/files/source/updatecheck.xml");

Stattdessen sind auch komplexere Anwendungen möglich, bei denen zuerst das Objekt erstellt und anschließend gezielt auf Methoden und Eigenschaften zugegriffen wird, um das Verhalten genauer zu beeinflussen:

UpdateCheck uc = new UpdateCheck(myUrl);
if (uc.NewerAvailable)
{
    ShowUpdateMessage();
}

Die aktuelle Version des eigenen Programms kann in der Datei AssemblyInfo.cs festgelegt werden (eine ähnliche Zeile ist dort i. d. R. bereits vorhanden):

[assembly: AssemblyVersion("1.2")]

Die XML-Datei wird auf einem Webserver abgelegt und enthält Angaben zur jeweils aktuellsten verfügbaren Version. Diese Daten werden von der UpdateCheck-Klasse ausgewertet und mit dem laufenden Programm verglichen.

<update>
    <appname>UpdateTester</appname>
    <versions>
        <latest>1.2</latest>
        <testing>2.0</testing>
    </versions>
    <website>http://unclassified.software/source/updatecheck</website>
    <alert></alert>
</update>

Download

UpdateCheck.cs11,2 KiBQuelltext der UpdateCheck-Klasse

Bekannte Probleme, Aufgaben

  • Alerts müssen noch auf Programmversionen beschränkt werden, damit sie nicht für alle Versionen angezeigt werden.

Änderungen

2007Mai15
Die Methode IsNewer(string) wurde hinzugefügt, um die aktuelle Version nicht nur mit der laufenden Programmversion, sondern auch mit einer anderen Angabe vergleichen zu können, um z. B. festzustellen, ob die neue verfügbare Version neuer als eine derzeit ignorierte ist.
2007Jan19
Die UpdateCheck-Klasse enthält jetzt eine Methode, die still nach einem Programm-Update suchen kann. Dabei werden keine Fehlermeldungen (wie „Server nicht erreichbar“) angezeigt und nur falls eine neuere Version verfügbar ist, wird der Benutzer gefragt, ob er die Webseite öffnen möchte.

Lizenz und Nutzungsbedingungen

Diese Software wird unter den Bedingungen der vereinfachten BSD-Lizenz veröffentlicht. Die genauen Lizenzbedingungen befinden sich im Download.

Statistische Daten

  • Erstellt am 2006-04-27, aktualisiert am 2007-05-15.
  • Erstmals in DropExplorer verwendet.
  • Ca. 130 Codezeilen, geschätzte Ent­wick­lungs­kos­ten: 130 - 520 €