pcwAppUpdater: Anwendungen automatisch updaten

Download zu diesem Artikel:

p11pcwAppUpdater_screenshotNACH EINIGEN WOCHEN PC-ABSTINENZ fällt es besonders auf: Zahlreiche Programme verlangen danach, aktualisiert zu werden. Einige laden die Updates selbst herunter, andere führen erst einmal zur Website des Herstellers. Und hat die Software gar keine automatische Aktualisierungs-Funktion, müssen Sie sich selbst darum kümmern. Windows unterstützt Sie bei diesen Aufgaben nicht. Es sorgt nur für Updates des Systems und einiger weniger anderer Microsoft-Produkte.

Dass es auch schneller und komfortabler geht, zeigen andere Betriebssysteme. Unter Linux beispielsweise gibt es Programmpakete für Systemkomponenten, Treiber und Programme. Die Informationen über die installierte Software und die Versionsnummern sind in einer zentralen Datenbank auf dem PC gespeichert, und mit Hilfe der Paketverwaltung lassen sich Updates durchführen, neue Programme installieren oder nicht mehr benötigte Software von Rechner entfernen.

Exklusives PC-WELT-Tool: Auch unter Windows lässt sich eine ähnliche Funktion realisieren. Wir haben für Sie das Tool pcwAppUpdater 0.2 entwickelt, das eine Paketverwaltung unter Windows XP und Vista ermöglicht. So können Sie, ähnlich wie unter Linux, die installierte Software auf Ihrem System mit einem Klick auf den neuesten Stand bringen oder neue Anwendungen zur Installation auswählen. In diesem Artikel informieren wir Sie darüber, wie Sie pcwAppUpdater optimal einsetzen und wie es funktioniert.

Paketdatenbank einlesen und System scannen

Um pcwAppUpdater nutzen zu können, entpacken Sie zunächst das Programm in ein beliebiges Verzeichnis. In diesem Ordner legt das Tool auch seine Konfigurations- und Arbeitsdateien ab. Voraussetzung ist, das der Benutzer in diesem Verzeichnis Schreibrechte besitzt. Wenn Sie nicht als Administrator arbeiten, müssen Sie pcwAppUpdater.EXE über das Kontextmenü „Ausführen als“ als Administrator starten.

Bei bestehender Internet-Verbindung klicken Sie als Erstes auf die Schaltfläche „Aktualisieren“ und im folgenden Dialog auf „Ja“. Das Programm lädt dann die Paketdatenbank von http://pcwelt-praxis.de/dfiles herunter (etwa 400 KB) und sucht auf der Festplatte sowie in der Registry nach installierten Anwendungen. Abhängig von der Anzahl der installierten Anwendungen und der Geschwindigkeit Ihres Systems kann das einige Zeit dauern. In der Ausgabe unter der Registerkarte „Log“ sehen Sie , wie weit die Aktion fortgeschritten ist. Nachdem die Inventur abgeschlossen ist, öffnen Sie die Registerkarte „Installierte Programme“. Sie sehen eine Liste mit allen installierten Anwendungen, die ermittelt werden konnten.

Updates, Installation oder De-Installation

Über die Registerkarte „Installierte Programme“ verwalten Sie die von pcwAppUpdater erkannte und auf Ihrem System vorhandene Software. In jeder Zeile gibt es eine oder mehrere „Ja“-Schaltflächen, über die Sie Software aktualisieren, herunterladen oder de-installieren können. Welche Schaltflächen unser Tools anzeigt, hängt von den Fähigkeiten des Setup-Programms ab, über das die jeweilige Anwendung eingerichtet wurde. Einige Setup-Programme ermöglichen ein Update oder die automatische De-Installation und anschließende Neu-Installation. Andere müssen Sie in jedem Fall manuell starten, weil Benutzereingaben erforderlich sind.

Ein Beispiel: Bei VLC Media Player erscheinen vier Schaltflächen. Über die Schaltfläche in der vierten Spalte („Uninst. manuell“) können Sie das Programm vom PC entfernen. Das entspricht dem Weg über „Systemsteuerung, Software“. Ein Klick auf „Ja“ in der Spalte „Downl. Update“ lädt das Installationspaket herunter. Sie finden es anschließend im Verzeichnis „Cache“ von pcwAppUpdater. Über die Schaltfläche in der Spalte „Autom. Update“ lädt pcwAppUpdater VLC Media Player herunter und richtet es im Hintergrund ein. Sie sehen also kein Fenster über den Installationsfortschritt, und weitere Benutzereingaben sind nicht erforderlich. Die letzte Schaltfläche in der Spalte „Update manuell“ bewirkt einen Download und startet das Setup-Programm. Sie installieren VLC Media Player dann wie gewohnt.

Vollautomatik: Sind mehrere Updates verfügbar, können Sie auch den vollautomatischen Modus nutzen, indem Sie auf „Aktionen, Alle Updates installieren“ klicken. Unser Tool lädt dann die neuesten Versionen zu allen Anwendungen herunter und installiert sie – soweit möglich – ohne Rückfragen. Eine Alternative ist „Aktionen, Alle Updates herunterladen“. Nach dem Download finden Sie die Setup-Programme im „Cache“-Verzeichnis und können sie bei Bedarf installieren.

Neue Anwendungen einrichten
Neue Programme installieren

Sie können pcwAppUpdater auch dazu nutzen, neue Anwendungen zu entdecken und schnell zu installieren. Öffnen Sie dazu zunächst die Registerkarte „Verfügbare Programme“. Hier sehen Sie eine Liste mit allen Tools, die in der Datenbank vorhanden sind, jeweils in der aktuellsten Version. Sobald Sie eine Zeile markieren, können Sie in der unteren Fensterhälfte eine Beschreibung zu dieser Anwendung lesen.

Auf der Registerkarte gilt dasselbe Prinzip wie bei der Karte „Installierte Programme“: Über einen Klick auf „Ja“ in der Spalte „Installer (autom.)“ laden und installieren Sie die jeweilige Anwendung vollautomatisch mit Standard-Einstellungen in den Ordner %programfiles%. Wenn Sie einen anderen Pfad oder eine spezielle Konfiguration wünschen, müssen Sie auf „Ja“ in der Spalte „Installer manuell“ klicken. Sie können die Datei auch über die Schaltfläche in der Spalte „Download“ herunterladen und dann aus dem „Cache“-Verzeichnis selbst installieren.

Einige Programme setzen die vorherige Installation eines anderen Pakets voraus („Abhängigkeit“). Einen Hinweis darauf finden Sie im jeweiligen Beschreibungstext. Wenn Sie ein derartiges Programm herunterladen oder installieren, löst pcwAppUpdater die Abhängigkeiten automatisch auf. Es ermittelt also die Abhängigkeiten, lädt das erforderliche Tool ebenfalls herunter und installiert es zuerst. Ein Beispiel dafür ist die Bildbearbeitung Gimp, die zusätzlich GTK+ erfordert.

Übrigens: Nachdem Sie eine Anwendung neu installiert, aktualisiert oder de-installiert haben, müssen Sie die Tool-Liste über „Aktionen, Update-Liste aktualisieren und System durchsuchen“ oder mit einem Klick auf „Aktualisieren“ auf den neuesten Stand bringen. Andernfalls zeigt die Liste den bisherigen, gespeicherten Bestand an. Am besten lassen Sie diese Aktion erst ganz am Schluss laufen, da sie je nach Füllstand der Platte und Geschwindigkeit des Systems einige Zeit erfordert.

Die Kommandozeilen-Variante

Unser Tool pcwAppUpdater baut auf der Freeware AppUpdater von www.nabber.org auf. Sie können AppUpdater auch über die Kommandozeile (Cmd.EXE) steuern. Das ist besonders dann sinnvoll, wenn Sie das Tool innerhalb einer Batchdatei oder eines Scripts nutzen möchten. Das englischsprachige Kommandozeilen-Tool AppUpdater.EXE liegt im Verzeichnis „bin“ der pcwAppUpdater-Installation.

Sie erhalten eine Liste aller Parameter, indem Sie „appupdater -h“ eingeben. Der wichtigste Befehl auf der Kommandozeile ist jedoch

appupdater--update

Damit wird Ihr System gescannt und die installierten Anwendungen ermittelt. Dieser Befehl sollte in jedem Fall immer zuerst ausgeführt werden. „appupdater --upgrade“ aktualisiert dann die gesamte ermittelte Software. Mit „ appupdater -l“ lassen Sie sich die installierten Programme anzeigen und mit „appupdater --available“ neue Programme, die Sie herunterladen können. Ein Download von VLC Media Player ohne Installation erfolgt beispielsweise über die Zeile

appupdater -d --install=VLC

Wenn Sie den Parameter -d (nur download) weglassen, wird das Programm automatisch installiert.

So funktioniert pcwAppUpdater
Technischer Hintergrund

Das Original-Tool AppUpdater lässt sich nur über die Kommandozeile steuern und berücksichtigt nur Software in der englischsprachigen Version. Mit pcwAppUpdater haben wir ein grafisches Front-End dafür entwickelt und zudem die Datenbank um viele Anwendungen in der deutschsprachigen Version ergänzt.

Installierte Anwendungen identifizieren: Im ersten Durchlauf lädt das Tool die Datenbank von unserem Server und scannt dann Ihr System nach ausführbaren Dateien. Im nächsten Schritt vergleicht es die Dateinamen mit denen in der Apps.XML (siehe "Aufbau der Software-Datenbank"). Findet es eine Übereinstimmung, bildet es zu der ermittelten Datei eine MD5- (Message-Digest Algorithm 5) und eine SHA1-Prüfsumme (Secure Hash Algorithm). Diese Summen identifizieren die Datei eindeutig – wie ein elektronischer Fingerabdruck. Andere Versionen derselben Anwendung erhalten zwangsläufig andere Prüfsummen, weil sich die jeweils zugehörige ausführbare Datei Version zu Version unterscheidet.

Nun vergleicht pcwAppUpdater die ermittelten Prüfsummen mit denen in der Versions.XML. Findet es wieder eine Übereinstimmung, so stehen der Name und die Version der installierten Anwendung eindeutig fest. Diese Anwendung wird nun im pcwAppUpdater-Dialog auf der Registerkarte „Installierte Programme“ in eine Liste eingetragen, die neben dem Namen und der Version auch Schaltflächen zum automatischen (Uninstall) oder manuellen De-Installieren (Uninst. manuell) der Anwendung enthält, sofern entsprechende Befehle in der Versions.XML enthalten sind.

Auf neuere Version updaten: Findet pcwAppUdater in der Versions.XML einen Eintrag der zuvor ermittelten Anwendung mit einer höheren Versionsnummer, so kommen noch die drei Schaltflächen „Download Update“, „Install Update“ und „Update manuell“ sowie eine Spalte mit der neueren Versionsnummer hinzu – sofern die jeweiligen Befehle hinterlegt sind.

Alle drei Schaltflächen laden zunächst die neueste Version der Anwendung aus dem Netz. Ein Klick auf „Install Update“ installiert zusätzlich die heruntergeladene Anwendung vollautomatisch, meist über den „Silent“-Parameter. Damit ist Ihre Anwendung mit einem Klick auf dem neuesten Stand. Für das zu installierende Paket ist in der Versions.XML ebenfalls eine Prüfsumme vorhanden. Das stellt sicher, dass es ebenfalls der gewünschten Version entspricht.

Unvermeidbare Schwächen: pcwAppUpdater kann nur die Anwendungen und Versionen berücksichtigen, die in der Liste stehen. Falls Sie eine ältere Version einer Anwendung installiert haben, die zwar auf der Registerkarte „Verfügbare Programme“ vorkommt, aber nicht in der Liste „Installierte Programme“, so kann sie meist trotzdem mit einem Klick auf „Installer (autom.)“ auf der Registerkarte „Verfügbare Programme“ aktualisiert werden.

Der vollautomatische Installationsmodus, der in vielen Installer-Paketen über spezielle Start-Parameter angestoßen wird, installiert die Anwendung standardmäßig im Ordner %Programfiles%, also unter „C:\Programme“. Die meisten Installationspakete erkennen aber, wenn bereits eine ältere Version der Anwendung eingerichtet ist – auch wenn diese in einem anderen Pfad liegt –, und aktualisieren sie. Einige wenige Installer-Pakete besitzen jedoch noch nicht diese Eigenintelligenz. Stattdessen de-installieren sie die alte Anwendung und installieren die neue einfach unter „C:\Programme“.

%Programfiles% anpassen: Zugegeben – dieses Problem kommt eher selten vor. Es lässt sich vermeiden, indem Sie zum Beispiel den Standardpfad zu Ihrem „Programme“-Verzeichnis ändern. Das ist besonders dann sinnvoll, wenn Sie sowieso alle Anwendungen in einem einzigen Verzeichnis, aber etwa auf einer anderen Partition installiert haben.

Starten Sie dazu Regedit, und öffnen Sie den Schlüssel „Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion“. Setzen Sie hier den Wert der Zeichenfolge „ProgramFilesDir“ auf Ihr neues „Programme“-Verzeichnis, und starten Sie den Rechner neu. Danach geben Sie unter „Start, Ausführen“ den Befehl „%Programfiles%“ ein (ohne Anführungszeichen), und der neue Standard-Ordner öffnet sich im Windows-Explorer.

pcwAppUpdater konfigurieren

Wir haben alle Einstellungen in pcwAppUpdater so gewählt, wie sie für die meisten Systeme sinnvoll sind. Sie können das Tool aber auch individuell anpassen. Das geht über die Config.INI im Verzeichnis „Bin“. Diese Konfigurationsdatei ist sowohl für pcwAppUpdater als auch das Kommandozeilen-Tool Appupdater.EXE gültig. Öffnen Sie die Datei in einem Text-Editor. Fügen Sie an das Ende der Zeile „Search_dirs =“ – falls nötig – noch weitere Programm-Verzeichnisse hinzu, in denen das Tool nach ausführbaren Dateien fahnden soll. Standardmäßig werden die Ordner

„\Programme“ (${ProgramFiles})
„\Windows\System32“ (${Windir}\system32)
„\Dokumente und Einstellungen\All Users\Startmenü“ (${AllUsersProfile}\Startmenü)
„\Dokumente und Einstellungen\<Ihr Benutzer>\Startmenü“(${userprofile}\Startmenü)

durchsucht. Weitere Ordner können Sie ergänzen, indem Sie am Ende der Zeile ein Komma und ein Leerzeichen (, ) schreiben und dann den Pfad zum Ordner eintragen.

In der Config.INI sind auch die Arbeitsverzeichnisse definiert, und zwar ausgehend vom Installationsordner („relativ“), beispielsweise „..\Cache“. Wenn Sie das „Cache“-Verzeichnis lieber an einem anderen Ort haben möchten, tragen Sie hier einen absoluten Pfad ein, beispielsweise „D:\Cache“. Entsprechend können Sie auch die Einträge für „temp_dir“ und „installed_txt“ anpassen.

Hinter der Variablen „apps_xml“ ist der Download-Pfad für die Datenbank Apps.XML angegeben. Der Download erfolgt immer vom PC-WELT-Server http://pcwelt-praxis.de/dfiles/apps.xml. Die Datei Versions.XML liegt im selben Verzeichnis und muss nicht extra konfiguriert werden. Den Pfad müssen Sie nur ändern, wenn Sie ein eigenes Software-Repository auf Ihrem Server einrichten möchten (siehe "Aufbau der Software-Datenbank" und "Datenbank anpassen und pflegen").

Einstellungen in pcwAppUpdater: Im Programm pcwAppUpdater gibt es nur wenig zu konfigurieren. Auf der Registerkarte „Optionen“ können Sie unter „Speichern/Laden“ festlegen, ob das Programm die gespeicherten Dateilisten automatisch laden beziehungsweise speichern soll. Ist die Klickbox vor „Eingabeaufforderung zeigen“ aktiv, öffnet das Programm ein Kommandozeilenfenster, in dem Sie die Ausgaben der Appupdater.EXE mitlesen können. Unter „Sprache“ haben Sie die Wahl zwischen einer deutsch- und einer englischsprachigen Oberfläche. Die Übersetzungen stehen in den INI-Dateien im Programm-Verzeichnis. Die Datei Custom.INI lässt sich unter „Sprache“ über „custom“ auswählen. Hier ist Platz für eigene Übersetzungen in andere Sprachen.

Datenbank anpassen und pflegen
Software-Datenbank für das eigene Netzwerk erstellen

Mit pcwAppUpdater müssen Sie nicht zwangsläufig die Datenbank von unserem Server nutzen. Sie können für Ihr Heim- oder Firmennetzwerk auch eine eigene Variante aufsetzen und mit unserem Tool ansteuern.

Den Aufbau der Datenbank beschreiben wir im unter "Aufbau der Software-Datenbank" und in dieser Grafik. Sie können unsere zwei Datenbank-Dateien auch über http://pcwelt-praxis.de/dfiles/apps.xml und http://www.pcwelt-praxis.de/dfiles/versions.xml herunterladen. Im Tool selbst finden Sie die beiden Dateien auch im Ordner „Cache“, allerdings mit einem zufällig generierten Namen.

Konvertieren: Nachdem Sie Ihre eigene Tool-Liste nach unserer Vorlage angelegt haben, müssen Sie die beiden XML-Dateien noch in den UTF-8 Zeichensatz konvertieren. Das geht zum Beispiel mit dem kostenlosen Kommandozeilen-Tool Iconv 1.9.2 über die vier Zeilen

cd /d <Ordner der XML-Dateien>
iconv -f ISO-8859-1 -t UTF-8 versions.xml > versions.txt
del versions.xml
ren versions.txt versions.xml

Wiederholen Sie diese Befehle analog für die Apps.XML. Zuletzt kopieren Sie die beiden Dateien beispielsweise auf ein freigegebenes Laufwerk und tragen den UNC-Pfad zur Apps.XML in der Config.INI in die Zeile „apps_xml = “ ein. Damit kann pcwAppUpdater die Apps.XML auch von jedem Rechner im LAN aus finden.

Immer aktuell: Wir werden die Liste auf unserem Server regelmäßig um die neuesten Versionen der Anwendungen ergänzen. Damit können Sie pcwAppUpdater auch in Zukunft optimal nutzen. Wir planen außerdem, unter http://www.pcwelt-praxis.de ein Web-Formular anzubieten, über das Sie über das Sie die Datenbank mit aufbauen können.

Software installieren unter Windows und Linux
Windows und Linux im Vergleich

Eine Linux-Distribution besteht immer aus Betriebssystem und Anwendungsprogrammen. Der Distributor – etwa Ubuntu, Debian oder Suse – fasst alle Pakete zusammen, brennt sie auf DVD und stellt sie auch online zur Verfügung. Nach der Installation eines Linux-Systems befinden sich dann nicht nur die Komponenten des Betriebssystems, sondern auch zahlreiche Anwendungen auf der Festplatte – von der Bildbearbeitung bis zum Office-Paket. Indem der Distributor die Software auf seinen Servern anbietet, ist ein schnelles und einfaches Update aller Anwendungen über das Paketmanagement möglich. Hunderte von Entwicklern („Maintainer“) in aller Welt pflegen die Paketdatenbank, prüfen die korrekte Funktion der Software und stellen Sicherheitsu-Updates zur Verfügung.

Anders unter Windows: Nach der Installation finden sich auf der Festplatte nur einige wenige zusätzliche Anwendungen. Was der Anwender benötigt, muss er selbst kaufen oder herunterladen, dann installieren und bei Bedarf aktualisieren. Die zentrale Verwaltung über „Systemsteuerung, Software“ sieht nur die De-Installation und Reparatur vor. Der Hersteller ist dafür verantwortlich, dass seine Software die passende Arbeitsumgebung vorfindet, erforderliche Zusatzprodukte automatisch nachinstalliert und andere Anwendungen nicht in ihrer Funktion behindert. Schnittstellen für automatische Updates aller Anwendungen sind bei Windows nicht vorgesehen. Firmenkunden können jedoch Produkte wie WSUS (Windows Server Update Services, http://technet.microsoft.com/wsus) einsetzen, um Windows- und Software-Updates im Netzwerk zu verteilen. Die zugehörige Datenbank muss man allerdings selbst pflegen.

Aufbau der Software-Datenbank
So ist die Datenbank aufgebaut

ToolDatenbank.pngDie von AppUpdater.EXE verwendete Datenbank setzt sich aus den beiden XML-Dateien Apps.XML und Versions.XML zusammen. In der ersten Datei stehen neben dem Namen jeder Anwendung und dem Namen einer zugehörigen EXE-, DLL- oder OCX-Datei noch eine Beschreibung und ein Verweis auf die Versions.XML. Diese Datei ist deutlich umfangreicher. Sie enthält neben den Namen der Anwendung und der Programmdatei die verschiedenen Versionsnummern. Zu jeder Version sind zusätzlich die MD5- und SHA1-Prüfsummen der charakteristischen Datei gespeichert, um sie eindeutig identifizieren zu können. Ferner gibt es in der Liste zu jeder Programm-Version eine Download-URL und die Befehle zur (Silent-)Installation und De-Installation. Eine kurze Dokumentation zum Aufbau der XML-Dateien finden Sie unter http://www.nabber.org.

Prüfsummen: Um selbst Prüfsummen von Installationspaketen zu generieren - etwa für eine eigene Versions.XML – können Sie pcwAppUpdater verwenden. Gehen Sie dazu auf die Registerkarte „Tools“, und ziehen Sie die gewünschten Dateien auf das Listenfeld. Wählen Sie die Einträge mit <Strg>-<A> (alle Zeilen) aus, und klicken Sie auf „Start“. Das Ergebnis finden Sie anschließend in der Liste unter „Log“.

Das Tool pcwAppUpdater bezieht die Liste standardmäßig von unserem Server http://www.pcwelt-praxis.de. Sie können sie natürlich auch beliebig anpassen und in einem Firmen- oder Heimnetzwerk anbieten. Sie müssen dazu lediglich in der Config.INI den Pfad in der Zeile „apps_xml =“ anpassen.

Unsere Datenbank bildet mit circa 390 Einträgen das Rückgrat von pcwAppUpdater. Wir werden die Liste laufend aktualisieren.