c't Offline Update
{{commentsTotalLength}}
-
heise Download Content Team

c't Offline Update

Selbstgeschnürte Service Packs für Windows und Office

Sind Sie es leid, dieselben Windows-Updates immer wieder aufs Neue aus dem Netz zu laden? Unser Skriptpaket c't Offline Update lädt Microsofts komplette Update-Bibliothek herunter und erstellt daraus topaktuelle Patch-Pakete für Windows 2000, XP, Server 2003, Vista sowie für Office. Damit bringen Sie beliebig viele PCs ohne Internetverbindung auf den aktuellen Stand.

Artikel aus c't 22/07

Ein frisches Windows, egal ob selbst eingespielt oder vom PC-Hersteller auf einem neuen Gerät vorinstalliert, ist löchrig wie ein Schweizer Käse. Alle paar Tage entdecken Sicherheitsexperten neue Systemfehler, und meist dauert es nicht lange, bis Software-Schädlinge versuchen, durch diese Hintertürchen einen Weg auf die Festplatten ahnungsloser Anwender zu finden.

Bevor man mit dem neuen System einen Ausflug ins Internet wagt, sollte man die aktuellen Sicherheitsupdates tunlichst einspielen, will man sich nicht einem hohen Infektionsrisiko aussetzen. Zwielichtige Websites warten nur auf das nächste Opfer, das mit einem ungepatchten Internet Explorer vorbeisurft.

Am zweiten Mittwoch jedes Monats zelebriert Microsoft seinen "Patchday", an dem das Unternehmen neue Sicherheitsupdates gesammelt veröffentlich, die jüngst entdeckte Fehler ausbügeln. Update-willige Windows-Nutzer können die Patches allerdings ausschließlich via Internet beziehen, etwa indem sie mit dem Internet Explorer die Update-Webseiten besuchen.

Bequemer ist es, die automatischen Updates einzuschalten, sodass Windows jeden Tag selbstständig Microsofts Server kontaktiert, um neue Updates herunterzuladen und sie einzuspielen.

Paradox

Beim Windows-Update beißt sich allerdings die Katze in den Schwanz: Die Anwender sollen sich mit dem Internet verbinden, um sich Gegenmittel für Gefahren zu besorgen, die eben dort drohen. Zwar schützt die eingebaute Firewall Windows Vista und XP zuverlässig gegen unerwünschte Verbindungen von außen – sie ist aber machtlos, wenn jemand mit einem ungepatchten Internet Explorer die falschen URLs anklickt.

Abgesehen von den alle Jubeljahre herausgegebenen Service- und Rollup-Packs bietet Microsoft keine Lösung an, um einen isolierten PC von einem Datenträger aufzufrischen: Zwar lassen sich viele Patches auch einzeln von Microsofts Webseiten herunterladen – es ist aber so gut wie unmöglich, ohne die Hilfe der Update-Mechanismen die Übersicht zu behalten, welche Pakete auf einem System eingespielt werden müssen.

Im Internet erfreuten sich Update-Pakete großer Beliebtheit, die sämtliche aktuellen Patches für ein Betriebssystem in einem Installationsprogramm bündeln. Mittlerweile sind diese Projekte aber von der Bildfläche verschwunden, weil Microsoft ihre Herausgeber abgemahnt hat. Die Redmonder wehren sich dagegen, dass Dritte die Windows-Updates ohne Genehmigung weitergeben. Aus Sicherheitsgründen ist es ohnehin nicht ratsam, Patches zu installieren, die nicht direkt von Microsoft stammen.

Die hier vorgestellte Lösung geht einen anderen Weg: Mit dem c't Offline Update können Sie jederzeit selbst ein frisches "Service Pack" für alle relevanten Windows-Betriebssysteme erstellen, das alle Updates vereint. Die aktuelle Version unterstützt auch Windows Vista sowie die Office-Ausgaben 2000, XP, 2003 und 2007. Rechtliche Probleme erwarten wir nicht, denn das Zip-Archiv, das auf unseren Servern bereitsteht, enthält nicht ein Byte Microsoft-Code.

Die selbst erstellten Update-Pakete sind praktisch für Hausbesuche bei Anwendern, die etwa nur via Modem mit dem Internet verbunden sind. Wer häufig Windows installiert, sei es auf echter Hardware oder in virtuellen Maschinen, wird die Zeitersparnis begrüßen.

Flexibel

Schon seit Version 3.0 arbeitet unser Skriptpaket vollständig dynamisch. So wird es zukünftig veröffentlichte Updates automatisch in seine Pakete einbauen, solange Microsoft die Mechanismen nicht ändert. Für den kompletten Quellcode gilt die Open-Source-Lizenz GPL – wer will, kann bis ins Detail nachvollziehen, wie das Skript funktioniert.

c't Offline Update besteht aus zwei Komponenten: Ein Download-Skript lädt für die ausgewählten Produkte sämtliche sicherheitsrelevanten Updates direkt von Microsofts Servern herunter. Die URLs, unter denen die einzelnen Updates zu finden sind, schlägt es in den XML-Katalogdateien nach, die Microsoft für seine Windows-Mechanismen bereitstellt.

Auf Wunsch überträgt das Download- Skript die Update-Bibliothek gleich in eine ISO-Datei, die sich mit einem beliebigen Brennprogramm auf CD oder DVD schreiben lässt. Speichert man es auf einem USB-Stick, passt das Update-Paket auch in die Hemdtasche.

Das Download-Skript kümmert sich nicht darum, auf welchem Update-Stand der herunterladende PC ist, und besorgt stets sämtliche Updates aus Microsofts Katalog. Das sind zwar deutlich mehr, als ein frisch installiertes System verlangt, den zusätzlichen Platzbedarf nimmt unsere Lösung aber zugunsten der flexiblen Installation in Kauf.

Allein für Windows XP lädt das Skript derzeit knapp 780 MByte herunter, der größte Brocken ist dabei das knapp 340 MByte große aktuelle Service Pack 3. Aber nur beim ersten Aufruf des Download-Skripts quält sich diese Datenmenge durch die Leitung. Beim nächsten Mal besorgt das Skript nur neue Pakete, die in der lokalen Bibliothek noch fehlen. Auf dem Ziel-PC spielt das schlaue Installationsskript stets nur die Updates ein, die dort noch nicht installiert wurden.

c't Offline Update lädt ausschließlich sicherheitsrelevante Updates. Optionale Pakete und "Zuverlässigkeitsupdates", die keine Sicherheitslücken schließen, führt Microsofts Katalog nicht auf. Darüber hinaus klammert es einige von Microsoft für die automatische Installation vorgesehenen Pakete aus: Dazu zählen die WGA-Prüfung und die WGA Notification, die XP mit Warnhinweisen pflastert, sollte das System die Echtheitsprüfung nicht bestehen.

Mit c't Offline Update ist weder für den Download der Patches noch für deren Installation eine Echtheitsprüfung notwendig – und anders als die in Windows eingebauten Download-Mechanismen schickt das verwendete Download-Werkzeug wget keine Systemdaten nach Redmond.

In ihren Konfigurationsdateien können Sie die Skripte leicht den eigenen Anforderungen anpassen, wie weiter unten beschrieben. So lassen sich ausgewählte Updates von der Installation ausklammern und Sie können weitere Microsoft-Updates nachrüsten. Die FAQ unten beantworten die häufigsten Fragen zu c't Offline Update, die Anwender auf unseren Webseiten im Forum des Offline-Update-Projekts gestellt haben.

Einwecken

Das Zip-Archiv ist kaum größer als 1 MByte. Es bringt alle Skripte und Hilfsdateien auf die Platte, um Microsofts Updates herunterzuladen und sie in Image-Dateien für gebrauchsfertige Installationsmedien zu verpacken.

Die Download-Skripte sollten Sie auf einem bereits aktualisierten PC verwenden, der über eine flotte Leitung mit dem Internet verbunden ist – nicht etwa auf einem Gerät, das Sie offline aktualisieren möchten. Platzieren Sie den Inhalt der Zip-Datei auf einem Laufwerk mit ausreichend freiem Speicherplatz. Es kommen schnell mehrere GByte zusammen, weist man das Skript an, Updates für mehrere Sprachen, Windows- und Office- Versionen herunterzuladen.

Die Verzeichnisstruktur des Archivs muss beim Auspacken erhalten bleiben. Das Download-Skript sortiert die heruntergeladenen Dateien in die vorgegebenen Ordner unterhalb von /ctupdate4/client. Ein anderer Speicherort lässt sich nicht bestimmen.

Wenn Sie bereits eine ältere Version 3.x von c't Offline Update auf der Platte haben, entpacken Sie das neue Archiv nicht am selben Ort, sondern in einem frischen Verzeichnis. Um Updates zu übernehmen, die Sie bereits mit der Vorgängerversion heruntergeladen haben, verschieben Sie die Update-Ordner unterhalb von "client" in die neue Verzeichnisstruktur. Die relevanten Ordner heißen "msi", "w2k", "w2k3", "win", "wsus" und "wxp".

Sollten Sie vorhaben, Update-Pakete für Windows 2000 zu erstellen, müssen Sie dem c't Offline Update noch eine dort lauffähige Version des Programms reg.exe hinzufügen, mit dem das Installations-Skript später auf die Registry des Ziel-PC zugreift. Wenn Sie das Download-Skript auf einem XP-System starten, ist nichts weiter zu tun: Hier greift sich das Skript reg.exe einfach aus \windows\system32. Unter Windows 2000, Server 2003 oder Vista müssen Sie selbst Hand anlegen und dem Verzeichnis \ctupdate4\client\bin eine Windows-2000-konforme Version hinzufügen. Die passende Datei entnehmen Sie einem XP-System oder dem Archiv support.cab, das auf der Installations-CD von Windows 2000 im Ordner \support\tools\ schlummert. Die von Windows Vista und dem Windows Server 2003 gelieferte Version von reg.exe läuft nicht unter Windows 2000.

Nach dem Start des Programms Update-Generator.exe bestimmen Sie zunächst, für welche Windows- und Office-Ausgaben das Skript Updates von Microsofts Servern herunterladen soll. Für jedes Produkt stehen sechzehn verschiedene Sprachversionen zur Wahl. Vista und Office 2007 verwenden für alle Sprachen dieselben Update-Pakete.

Wer das Download-Volumen reduzieren und Platz auf den Medien sparen will, kann die aktuellen Service Packs für Windows und Office per Checkbox ausklammern. Nur mit dieser Option passen die Updates für Windows XP noch auf eine CD – inklusive Service Pack 2 findet das resultierende Image nur auf einer DVD Platz. Aktiviert man den Schalter, erscheint ein Warnhinweis, dass das Skript eventuell schon heruntergeladene Service Packs von der Platte löschen wird. Dabei entfernt das Skript aber auch Updates, die man den Konfigurationsdateien manuell hinzugefügt hat.

Um einen Ziel-PC zu aktualisieren, braucht man das SP2 aber auf jeden Fall: Entweder muss es bereits installiert sein oder man spielt es vor dem Offline Update von einem separaten Medium ein.

In der Rubrik "ISO-Image" legt man fest, ob das Skript für jedes ausgewählte Produkt und jede Sprache ein separates ISO-Image erstellen soll. Zum Beispiel kann das Skript damit in einem Durchlauf zwei ISOs mit den englischen und deutschen Updates für Windows XP erstellen. Die andere Option ist, alle Updates sämtlicher gewählter Produkte für eine Sprache in ein ISO zu packen, das dann aber in der Regel nur noch auf eine DVD passt.

Nach einem Klick auf Start beginnen die Skripte ihr Werk und Sie dürfen sich zurücklehnen. Im Fenster, das nun im Vordergrund erscheint, scrollen Meldungen der skriptgesteuerten Helferlein vorbei. Das Programm wget sammelt die einzelnen Pakete von Microsofts Servern ein, die mkisofs anschließend in Image-Dateien verpackt. Sobald alles durchgelaufen ist, finden Sie die frischgebackenen Images im Verzeichnis \ctupdate4\iso.

Diese lassen sich mit einem beliebigen Brennprogramm auf einem Rohling verewigen. Achten Sie aber darauf, die spezielle Brennfunktion für Image-Dateien zu verwenden! Bei Nero Burning ROM finden Sie diese unter "Rekorder/Image Brennen". Es gelingt auch mit dem kostenlosen Brennprogramm Deep Burner Free, dessen "portable edition" sogar ohne Installation funktioniert.

Das fertige Skriptpaket lässt sich aber auch auf einen USB-Stick (oder ein anderes portables Laufwerk) übertragen. Um sämtliche heruntergeladenen Updates auf einen Stick zu bringen, kopiert man einfach den kompletten Unterordner "client". Alternativ filtert das Skript copyToTarget.cmd Updates für ausgewählte Produkte und Sprachen aus der lokalen Sammlung. Es residiert im Verzeichnis \ctupdate\cmd und lässt sich in einer Eingabeaufforderung mit Parametern befehligen. So erstellt beispielsweise das Kommando

copyToTarget.cmd wxp deu z:

ein deutsches Offline-Update-Paket für Windows XP auf Laufwerk Z:. Ihre vollständige Syntax verraten die Skripte, wenn man sie in einer Eingabeaufforderung ohne Parameter aufruft.

Servieren

Wenn Sie das nächste Mal vor einem PC sitzen, dem es an Updates mangelt, zücken Sie Ihren USB-Stick (beziehungsweise den Silberling) und starten das Programm Update-Installer.exe. Ist die Windows-eigene Auto-Play-Funktion aktiv, ruft sie das Update-Programm automatisch auf, sobald man den Datenträger einlegt. Auch von einer Netzwerkfreigabe lässt sich das Paket starten, diese muss aber mit einem Laufwerksbuchstaben verbunden sein.

Unter Windows Vista fordert das Installationsprogramm per UAC-Dialog Administratorrechte an. Mit der Option "Automatisch neu starten und fortsetzen" läuft die gesamte Update-Aktion unbeaufsichtigt ab, während Sie sich wichtigeren Dingen widmen. Sollte ein eingespieltes Update einen Neustart verlangen, erstellt das Skript zunächst ein neues Administratorkonto namens WSUSUpdate-Admin. Diesem weist es ein zufällig gewähltes Passwort zu und hinterlegt es für die automatische Anmeldung in der Registry. Beim folgenden Systemstart wechselt Windows dann automatisch in das neue Konto, damit das im Autostart eingetragene Skript sein Werk fortsetzen kann. Ist alles erledigt, räumt das Skript auf und entsorgt das Update-Konto.

Diese Option funktioniert allerdings nicht, wenn das Paket auf einem Netzlaufwerk liegt – aus dem neuen Konto heraus sind die Dateien dann nicht erreichbar.

Wir haben uns für die Implementierung mit dem neuen Benutzerkonto entschieden, weil das Skript auf diese Weise kein aktives Administratorkennwort im Klartext in der Registry speichern muss. Die Methode hat sich bewährt, allerdings berichteten in der Vergangenheit eine Handvoll Anwender von Problemen, etwa dass sich ein PC in einer Schleife verfing und immer wieder das Update-Konto anmeldete. Die aktuelle Version der Skripte trifft dagegen Vorsichtsmaßnahmen und die FAQ unten erklären, was in einem solchen Notfall zu tun ist. Auf einem Domänen-Controller sollten Sie davon absehen, die Autostart-Funktion einzuschalten. Jedesmal wenn das Update-Skript auf einem Zielsystem startet, sondiert es zunächst seine Umgebung und entscheidet, was als nächstes zu tun ist. Sollte das aktuelle Service Pack noch nicht installiert worden sein, spielt das Skript dieses zuerst ein. Wenn die Option für den automatischen Neustart nicht aktiv ist, müssen Sie danach den Rechner manuell booten und das Skript erneut anstoßen.

In der nächsten Phase installiert das Skript – wenn noch nicht vorhanden – einige Pakete, die es für seine weitere Arbeit benötigt. Dazu zählen der Internet Explorer und die jeweils aktuellen Versionen des Windows Script Host sowie des Windows Update Agent und des Microsoft Installer.

Danach ist ein weiterer Neustart fällig. Sind beim nächsten Aufruf alle Voraussetzungen erfüllt, leitet das Skript die letzte Phase ein, in der es die Liste der fehlenden Updates ermittelt und sie eines nach dem anderen einspielt.

Sollte das Installationsskript mit einer seltsamen Fehlermeldung abbrechen, funktioniert wahrscheinlich eine Komponente nicht, die es für seine Arbeit benötigt, etwa der Windows Script Host oder die Windows Management Instrumentation WMI. Insbesondere darf der Systemdienst für automatische Updates nicht deaktiviert worden sein. Ohne ihn kann das Skript die Liste der ausstehenden Patches nicht ermitteln (laufen muss er aber auch nicht, die Startoption "manuell" genügt). Im Forum zum Offline Update ließ sich so manches Problem auf den Einsatz von Werkzeugen wie xp-AntiSpy und ähnlichen "Optimierern" zurückführen, die so manche zweifelhafte Funktion anbieten – mehr dazu erklären die FAQ.

Sobald das Installationsskript "fertig" meldet, fehlen für ein topaktuelles System nur noch wenige Handgriffe: Unter Windows 2000 sollten Sie das Programm UpdateInstaller.exe noch ein letztes Mal aufrufen, denn beim ersten Durchgang übersieht der Windows Update Agent auf diesem Betriebssystem ein paar Updates.

Zu guter Letzt können Sie den mit Updates gesättigten Rechner ruhigen Gewissens mit dem Internet verbinden, um eventuell noch fehlende Pakete mit den Online-Funktionen einzuspielen. Die Windows-Update-Website findet stets noch eine Handvoll weiterer Patches, die das Offline Update nicht einbindet.

Die fehlenden Aktualisierungen sind allesamt nicht sicherheitsrelevant (obwohl sie Microsoft als "wichtig" einstuft). Diese als "Zuverlässigkeitsupdates" deklarierten Patches beheben in der Regel unkritische Bugs im Betriebssystem. Das Offline Update lässt auch das Malicious Software Removal Tool (MSRT) außen vor, denn dieser Scanner erkennt nur wenige Schädlinge – ein ausgewachsenes Anti-Viren-Produkt mit frischen Signaturen kann er ohnehin nicht ersetzen.

Im XML-Katalog der Datei wsusscn2.cab sind die zusätzlichen Pakete, die das Windows-Online-Update findet, nicht aufgeführt. Microsofts Baseline Security Analyzer (MBSA) bescheinigt einem PC nach dem Durchlauf des Offline Update, lückenlos gepatcht zu sein.

Nachwürzen

Das Offline-Update-Paket ist ein Konglomerat aus Batch-, VisualBasic- und AutoIt-Skripten, die Hand in Hand mit zusätzlichen Werkzeugen arbeiten. Die ausführbaren Dateien UpdateGenerator.exe und UpdateInstaller.exe implementieren nur die Bedienoberflächen und starten Batchdateien mit den vom Anwender ausgewählten Parametern. Diese befinden sich in den Ordnern \ctupdate4\cmd sowie \ctupdate4\client\cmd.

Die Batch-Skripte lassen sich auch ohne Bedienoberfläche aufrufen. Wer stets aktuelle ISO-Dateien vorrätig halten will, kann den Taskplaner beauftragen, das Download-Skript an regelmäßigen Terminen aufzurufen – etwa einmal die Woche oder nach Microsofts Patchday. Bei jedem Start konsultiert das Skript Microsofts Update-Katalog und vervollständigt seine lokale Sammlung, um daraus neue Image-Dateien zu bauen.

Für den Taskplaner erstellen Sie eine neue Batchdatei im Verzeichnis \ctupdate4\cmd, etwa mit dem Namen DownloadTask.cmd, in der Sie die beiden vom Offline Update gelieferten Skripte DownloadUpdates.cmd und CreateISOImage.cmd mit den gewünschten Parametern aufrufen. Für den Download der deutschen XP-Updates sollte das Skript so aussehen:

@echo off
call DownloadUpdates wxp deu
call CreateISOImage wxp deu

Es ist in der Regel nicht empfehlenswert, sich mit dem Einspielen neuer Updates zu viel Zeit zu lassen. Ernsthafte Probleme mit neu erschienenen Updates gab es in der Vergangenheit selten. Das Offline Update bietet dennoch einen Mechanismus, mit dem sich einzelne Updates von der Installation ausklammern lassen. Zur Steuerung dient die Datei \ctupdate4\client\exclude\Exclude List.txt. Um die Installation eines Update zu verhindern, tragen Sie dort seine Knowledge-Base-ID ein. Das Installations-Skript wird die in der Liste hinterlegten Updates überspringen und die Meldung "skipped due to matching blacklist entry" ausgeben.

Einige Updates haben wir bereits auf die schwarze Liste gesetzt. Dazu zählen Microsofts Schädlingsscanner MSRT (890830) und ein Patch für Microsofts veraltete Virtual Machine (KB816093), der sich nicht per Skript einspielen lässt. Wer Java-Applets verwendet, sollte ohnehin besser die aktuelle Java-Umgebung von Sun installieren. Auch ein widerspenstiges Update für die Microsoft Data Access Components (MDAC, Knowledge-Base-Artikel 823718 und Knowledge-Base-Artikel 832483) bleibt außen vor. Der Internet Explorer 7 (KB 926874) und die jeweils aktuellen Service Packs für Office stehen auf der Liste, weil das Installations-Skript sie gegebenenfalls schon in einer früheren Phase einspielt.

Das von uns bereitgestellte Skriptpaket lädt und installiert ausschließlich sicherheitsrelevante Updates, die Microsofts XML-Katalog aufführt, sowie weitere Pakete, die für einen reibungslosen Ablauf nötig sind. Wenn Ihnen das nicht genügt, können Sie zusätzliche Microsoft-Updates wie im Folgenden beschrieben als "statische" Updates in das Paket einbauen:

Damit das Download-Skript eine weitere Datei herunterlädt, tragen Sie seine URL in eine Datei im Verzeichnis \ctupdate4\static ein, die für das gewünschte Produkt zuständig ist. Für das deutsche Windows XP ist etwa die Datei StaticDownloadLinks-wxpx86-deu.txt relevant.

Damit das fertige Update-Paket den zusätzlichen Patch auch installiert, müssen Sie noch seine KB-Nummer unter \ctupdate4\client\static in die passende Datei schreiben, die nach dem Schema StaticUpdateIds-wxpx86.txt benannt ist. Das Skript installiert die korrespondierende Datei dann automatisch.

Hinter den Kulissen

Wie die Skripte im Detail funktionieren, haben wir bereits ausführlich im Artikel zur Version 3 beschrieben, den Sie im als PDF für 70 Cent im Heise-Online-Kiosk downloaden können. Das Folgende erläutert die wichtigsten Mechanismen und geht auf die Neuerungen für Vista und Office ein.

Das Download-Skript lädt nach seinem Start zunächst ein paar Microsoft-Werkzeuge herunter, die wir nicht mit in unser Download-Archiv packen dürfen. Aus dem aktuellen Archiv wsusscn2.cab, das Microsoft jedes Mal aktualisiert, wenn neue Updates erscheinen, extrahiert es die Update-Katalogdatei package.xml.

Um die Windows-Updates zu laden, fischt das Skript aus den XML-Daten eine Liste von Download-URLs. Diese Aufgabe übernimmt Microsofts XSLT-Prozessor msxsl.exe, den das Download-Skript mit Stylesheets füttert. Im Verzeichnis \ctupdate4\xslt liegt für jedes Produkt und jede Sprache ein solcher Filter bereit.

Die fertige URL-Liste übergibt das Skript an den Download-Manager wget.exe. Wenn eine Datei schon auf der Platte liegt, überspringt wget sie – vorausgesetzt, ihre Größe und das Erstellungsdatum stimmen mit der Version auf Microsofts Server überein.

Allerdings sind nicht alle Office-Updates in der Katalogdatei package.xml aufgeführt. Um auf einem Ziel-PC herauszufinden, welche Office-Updates installiert sind und welche noch fehlen, bietet Microsoft ein separates Helferlein an, das Office Update Inventory Tool. Es greift auf einen eigenen, im Programmeintrag ebenfalls verlinkten Katalog zu, der in einer Datei namens invcif.exe steckt.

Das Download-Skript nimmt den Update-Scanner für Office in das erstellte Update-Paket auf und filtert aus dem Office-Katalog (wiederum via XSLT) die Download-Adressen heraus. Nachdem wget alles heruntergeladen hat, verpackt das Werkzeug mkisofs das einsatzbereite Update-Paket, das im Unterordner \client entstanden ist, in die ISO-Images.

Nun geht es auf dem Ziel-PC weiter: Der Windows Update Agent bietet in seiner aktuellen Version (die das Installationsskript bei Bedarf zuerst einspielt) eine Programmierschnittstelle und lässt sich per VBScript befehligen. Über eine solche Funktion übergibt das Installationsskript dem Agenten die offline gespeicherte Katalogdatei wsusscn2.cab, die den Stand des Update-Pakets widerspiegelt, und bittet ihn, die Liste der Patches zu ermitteln, die dem Zielsystem noch fehlen. In seiner letzten Phase arbeitet das Skript diese Liste ab und startet die ausführbaren Update-Dateien anhand ihrer Knowledge-Base-IDs.

Die Updates für Vista bringen kein eigenes Installationsprogramm mit und sind selbst nicht ausführbar. Auf den Knowledge-Base-Seiten findet man stattdessen Dateien mit der Endung .msu. Solche Pakete spielt der Vista-eigene Windows Update Stand-alone Installer ein. Allerdings führt der Katalog wsusscn2.cab für Vista keine .msu-, sondern .cab-Dateien auf. Um diese einzuspielen, entpackt das Installationsskript sie zunächst mittels expand in ein temporäres Verzeichnis und beauftragt Vistas Package Manager pkgmgr.exe mit der Installation.

Für Office ermittelt der Windows Update Agent auf dem Zielsystem nur einen Teil der nötigen Patches, die restlichen fragt das Skript vom Inventory Manager invcm. exe ab.

Immer up-to-date

Im Software-Verzeichnis zählt c't Offline Update zu den beliebtesten Programmen und wurde schon weit über 200.000 Mal heruntergeladen. Auf unseren Projektseiten finden Sie die aktuelle Version und ein reges Diskussionsforum, in dem Anwender Erfahrungen und ihre Problemlösungen diskutieren.

Für die Weiterentwicklung haben wir ein Trac-System eingerichtet, in dessen Wiki wir zusätzliche Dokumentationen für Entwickler und Anwender sammeln. Bugs, die in den FAQ, im Wiki und im Forum noch nicht gelöst wurden, können Sie in einer Fehlerdatenbank dokumentieren, ebenso wie Vorschläge für neue Funktionen. Aus dem Subversion-Repository lässt sich der aktuelle Programmcode abrufen. Das Offline Update soll auch in Zukunft als c't-Projekt weiterwachsen. Auf der To-Do-Liste steht etwa die Erweiterung für x64-Systeme. Entwickler laden wir herzlich ein, frische Ideen und Code beizusteuern. (kav)

FAQ

Seuchenwarnung

? Mein Virenscanner meldet, das von Ihrer Website heruntergeladene Zip-Archiv sei mit einem Schädling infiziert. Hat er Recht?

! Das ist ein Fehlalarm. Die Bedienoberflächen haben wir mit der Sprache AutoIt implementiert, deren kompilierte Skripte bei Virenscannern immer wieder in Generalverdacht geraten. Im Zip-Archiv finden Sie auch die Quelltexte mit der Endung .au3; Sie können sie also auch selbst kompilieren und sich überzeugen, dass sie unbedenklich sind.

Indem Sie das Zip-Archiv bei www.virustotal.com hochladen, können Sie Diagnosen von weiteren Scannern einholen. Es ist sinnvoll, dem Hersteller Ihres Virenscanners die als "falsch positiv“ erkannte Datei zuzusenden, damit er den Fehler in seinen Signaturen berichtigt.

Update-Pakete weitergeben

? Darf ich meine Kunden mit Update-DVDs versorgen, die ich mit dem Offline-Update erstellt habe?

! Dafür müssten Sie Microsoft zunächst um Erlaubnis bitten, andernfalls verstoßen Sie gegen die Lizenzbedingungen. Leider hat das Unternehmen eine solche Genehmigung in der Vergangenheit nicht erteilt.

Download-Volumen sparen

? Ich habe das Service Pack 2 für Windows XP schon auf einer CD vorliegen. Kann ich mir den Download sparen und diese Version in das Paket einbauen?

! Kopieren Sie die Datei in den Ordner \ctupdate4\client\wxp\deu und geben Sie ihr den Namen WindowsXP-KB835935-SP2-DEU.exe. Der Download-Manager wget wird sie allerdings nur akzeptieren, wenn sie exakt 277.936.872 Bytes groß ist, andernfalls lädt er erneut die Version von Microsofts Server herunter.

Lückenhaftes Update

? Auf dem Ziel-PC meldet das Installationsskript, dass es einige Updates "due to a matching blacklist entry" übersprungen hat. So manches andere Update findet es wiederum nicht auf seinem Datenträger. Und warum schlägt die Windows-Update-Website nach dem Einspielen des Update-Pakets vor, noch mehr zu installieren?

! Auf der Blacklist des Installations-Skripts stehen Updates, die wir bewusst ausgeklammert haben. Dazu zählen etwa Microsofts Scanner MSRTund ein Update für Microsofts steinalte Java Virtual Machine. Im Detail erklärt das der Artikel in c't 22/2007 auf Seite 212.

Updates, die das Installationsskript nicht auf seinem Datenträger findet, flicken ein Microsoft-Produkt, das beim Erstellen der Medien nicht ausgewählt wurde - oder ein Produkt, welches das Offline-Update gar nicht unterstützt. In Microsofts Knowledge-Base können Sie die Nummer der Updates nachschlagen, um ihren Zweck zu erfahren.

Die Windows-Update-Website findet nach dem Einspielen des Offline Update noch eine Reihe weiterer Patches, die aber allesamt keine Sicherheitslücken schließen. Das Offline Update deckt in der Grundkonfiguration ausschließlich sicherheitsrelevante Microsoft-Updates ab.

Update-Desaster

? Beim Start der Update-Installation hatte ich die Option "Automatisch neu starten und fortsetzen" aktiviert. Jetzt meldet sich bei jedem Neustart automatisch ein Benutzer namens WSUSUpdateAdmin an. Wie versetze ich meinen Rechner in den Ausgangszustand zurück?

! Brechen Sie ein laufendes Update-Skript gegebenenfalls mit Strg+C ab und öffnen Sie eine Eingabeaufforderung. Hier starten Sie das Skript CleanupRecall.cmd aus dem Unterverzeichnis cmd. Das Skript sollte das Auto-Login deaktivieren, sodass Sie sich nach einem Neustart wieder mit Ihrem gewohnten Konto anmelden können.

Wenn das nicht helfen sollte, führen Sie bitte die folgenden Schritte durch: Melden Sie den Benutzer "WSUSUpdateAdmin" ab und halten Sie dabei Umschalt-Taste gedrückt. Damit unterdrücken Sie das automatische Login und gelangen zum Anmeldebildschirm. Melden Sie sich als Administrator an. Im Windows-Verzeichnis (beziehungsweise im Verzeichnis "winnt" unter Windows 2000) sollte eine Datei wsusbak-winlogon.reg zu finden sein, in der das Skript die alten Registry-Einträge gesichert hat.

Starten Sie regedit und löschen Sie den Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. Zuletzt importieren Sie die gesicherte Datei winlogon.reg per Doppelklick, um alle änderungen des Installationsskripts zurückzunehmen.

Installation streikt

? Warum bricht das Installationsskript mit merkwürdigen Fehlermeldungen ab, etwa "D:\ctupdate34\client\cmd\DetermineSystemProperties.vbs(92, 3) (null): 0x80041014"?

! Das Installationsskript arbeitet Hand in Hand mit einigen Windows-Komponenten. Stellen Sie sicher, dass in der Computerverwaltung unter "Dienste und Anwendungen" der Systemdienst für automatische Updates (unter Vista heißt er "Windows Update") nicht deaktiviert wurde. Als Startoption sollte "manuell" gewählt sein.

Auch der Windows Script Host (WSH) sowie die Windows Management Instrumentation (WMI) müssen funktionieren. So manches Problem lässt sich auf das wahllose Abschalten von Windows-Funktionen mit Werkzeugen wie xp-Antispy zurückführen. Microsoft stellt für die WMI ein Diagnoseprogramm bereit.

Update-Update

? Wie kann ich eine neue Version der Offline-Update-Skripte einspielen und meine bereits heruntergeladenen Microsoft-Updates übernehmen?

! In der Regel können Sie das neue Zip-Archiv einfach im Verzeichnis der alten Version auspacken, sodass die neuen Skriptdateien ihre älteren Versionen überschreiben.

Sollten Sie bereits Updates mit der Vorgängerversion geladen haben, packen Sie die neue Version bitte in einem separaten Verzeichnis aus. Anschließend verschieben Sie aus dem Unterverzeichnis \client der alten Version die Ordner "msi", "w2k", "w2k3", "win", "wsus" und "wxp" in den client-Ordner der Version 4.

Offline Update für den Mac

? Genial! Gibt es etwas Vergleichbares auch für Mac OS X?

! Ja, zumindest unter Version 10.4 erledigt das Skript c't Offline Update für Mac OS X 10.4, kurz OliU, den gleichen Job.

c't Offline Update (4 Bilder)

Das Installationsskript bringt einen Ziel-PC ohne langwierigen Download auf den aktuellen Stand.
( )

Wie bewertest Du die Qualität des Beitrags?

Pflichtlektüre! ({{threeCount}})
Gut zu wissen ({{twoCount}})
Geht gar nicht! ({{oneCount}})
Vielen Dank für Deine Bewertung.
Deine Bewertung wurde gelöscht.

Kommentare

{{commentsTotalLength}} KommentarKommentare

Kommentare öffnen Weitere Kommentare laden...