UpdateCheck class

Provides simple methods to check from an XML file on the web whether a program is available in a newer version, and to open the website.

Archived content: This source code is currently inactive and may be outdated or no longer maintained or functional.

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.

Compatibility: .NET Version 1.1 or newer

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

2007May15
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.

Licence and terms of use

This software is released under the terms of the simplified BSD licence. You can find the detailed terms and conditions in the download.

Statistic data

  • Created on 2006-04-27, updated on 2007-05-15.
  • First used in DropExplorer.
  • Ca. 130 lines of code, estimated development costs: 130 - 520 €