Wer kennt das nicht…

aus irgendeinem Grund muss man seinen Computer neu aufsetzen. Ich hatte ja schon vor kurzem darüber geschrieben: Windows und Office Updates.

Kurz vorweg, dieser Artikel richtet sich eher an (Hobby-)Administratoren statt an Privatanwender.

Aber das in dem Artikel erwähnte WSUS Offline fängt halt nur Windows und Office Updates ab, und auch nicht zu 100% alle. Programme wie Visual Studio, SQL Server, … bleiben außen vor. Wer – wie ich – mehrere Systeme zu warten hat möchte vielleicht auch noch die fehlenden Updates parat haben. Das ist prinzipiell kein Problem.

Updates finden und herunterladen

In dem Microsoft Update-Katalog findet man sämtliche Updates auch zum Download, häufig als .msp oder .msu Datei. Manchmal ist es auch eine .cab Datei, die kann mit Programmen wie z. B. 7zip entpackt werden. In dem Suchfenster muss man die KB Nummer eintragen. Aber die muss man erst mal kennen.

Wie kommt man an diese KB Nummern?

Lasst Windows- oder besser Microsoft Update durchlaufen, stellt die Einstellungen aber vorher so ein dass die Updates nicht installiert werden. So seht ihr (nach einer gefühlten Ewigkeit) sämtliche Updates die installiert werden sollten.

Jetzt ist es Fleißarbeit. Daher lohnt sich es auch nur wenn ihr die häufiger installieren müsst. Macht dem Katalog auf (wohlgemerkt am Besten im Internet Explorer), gebt die KB Nummer im Suchfeld ein (z. B. KB1234567) und ihr bekommt eine Liste mit Updates die zu dieser Nummer passen. Lasst euch nicht irritieren wenn das Update mehrfach auftaucht. Die Updates gibt es häufig für 32 Bit (x86) und 64 Bit (x64) Systeme, außerdem kann es das selbe Update nicht nur für Windows 7 sondern auch 8, 10, … geben, die zwar z. B. die selbe Lücke schließen (daher die selbe KB Nummer), aber eben auf das Betriebssystem angepasst sind.

Updates installieren

Wie eingangs erwähnt, häufig bekommt ihr .msu (Windows) oder .msp (Office) Dateien. Grade bei Office sind es häufig .cab Dateien, die müssten erst mit z. B. 7zip entpackt werden weil sich darin ggf. mehrere .msu oder .msp Dateien befinden. Gelegentlich bekommt man auch .exe Dateien. .msu, .msp und .exe einfach starten und abwarten.

Blöd nur wenn es gefühlte 5674 Stück sind…

Um das Ganze zu automatisieren habe ich ein kleines Programm geschrieben. Quelltext und Download findet ihr unten. Das Programm macht nichts anderes als in dem Ordner in dem es liegt und in allen Unterordnern nach *.msu, *.msp und Install.bat Dateien zu suchen und diese nacheinander auszuführen / zu installieren. So könnt ihr zum Beispiel Updates auf Setup DVDs hinzufügen und müsst nachher nur noch den Updater starten, fertig. Das einzelne Runterladen bleibt euch jedoch nicht erspart…

Wenn das Tool läuft sollte man den PC nebenbei nicht verwenden. Idealerweise sogar kurz die Netzwerkverbindung trennen, nicht dass Windows Updates währenddessen auch noch zuschlägt.

Alle 3 zusammen

Wenn die Updates fertig geladen sind geht es los das Update Verzeichnis zu erstellen. Ich empfehle diese Struktur:

\x64
\x86
\MspInstaller.exe

Im Ordner x64 halt alle Updates für 64 Bit, in x86 alle 32 Bittigen. Wie gesagt, Unterordner werden auch durchsucht und installiert, man kann es also weiter aufschlüsseln:

\x64\Windows7
\x64\Office2010
…

Einziges Problem sind die .exe Dateien. Häufig könnte man die auch entpacken, aber das funktioniert nicht immer (das Entpacken vielleicht, die Installation scheitert dann aber). Daher sucht das Tool auch nach einer Install.bat. Diese zu erstellen ist recht leicht, aber kostet etwas Zeit. Startet die .exe mit dem Parameter /? dahinter, beispielsweise „KB123456.exe /?“. Häufig bekommt man dann Informationen wie eine automatisierte / unbeaufsichtigte / unattended Installation starten kann. Hier ein Beispiel einer Install.bat:

@ECHO OFF
ECHO KB2538243 (Sicherheitsupdate C++ 2008 SP1)...
X86-all-vcredist_x86_470640aa4bb7db8e69196b5edb0010933569e98d.exe /q
IF NOT ["%errorlevel%"]==["0"] (
    ECHO Installation fehlgeschlagen!
    PAUSE
)

Das muss natürlich immer für jede .exe angepasst werden.

So. Einmal gestartet sucht das Tool nach unterstützten Update Dateien (halt die Install.bat, *.msu und *.msp, in dieser Reihenfolge) im Eigenen Verzeichnis, dann pro Unterverzeichnis nach den Dateien, danach weiter in den nächsten Unterverzeichnissen usw.. Wenn ein Verzeichnis den Namen „x86“ hat wird es ignoriert wenn ein 64 Bit Betriebssystem verwendet wird, ebenso „x64“ wenn ein 32 Bit System verwendet wird. Sofern kein Fehler auftritt läuft die Installation unbeaufsichtigt durch, das Konsolenfenster bleibt aber offen um Erfolg zu melden.

Screenshot (hier beim Durchlauf einer Visual Studio 2008 Installation):

Download:

Version: 1.0.2016.0601

Binary (ausführbare Datei):
MspInstaller.exe (154,00 kb)

Quelltext:
http://nopaste.tightdev.net/?ID=kthpw5
VB.Net, Projekttyp: Konsolenanwendung, Starttyp Sub Main. Nicht vergessen im Manifest Admin zu erfordern.


Windows Update

Nur ganz kurz

… da man es ja immer wieder brauchen kann. Jeder kennt es, dieses Update Massaker wenn man sein System wieder neu aufsetzt. Die Installation von Windows und Office geht zwar recht schnell, aber die Installation der Updates dauert zig Stunden, bei langsamen Internetverbindungen sogar mehrere Tage. Nicht jeder ist mit 50 oder 100 MBit/s verwöhnt, manche haben nur 1 oder 2 MBit/s; selten sogar noch weniger. Grade wenn man mehrere PCs im Haushalt hat (beispielsweise Mann, Frau, 2 Kinder, macht 4x den Download). Aber es gibt Abhilfe. Die zeige ich euch hier.

WSUS Offline

Es gibt ein Programm, namentlich WSUS Offline. WSUS ist die Abkürzung für „Windows Server Update Service“. Im Original (ohne das „Offline“) ist es ein Dienst der auf Windows Servern (in der Firma) läuft und die PCs im Netzwerk mit Updates versorgt statt dass die zig PCs jeder für sich die Updates laden. „WSUS Offline“ arbeitet ähnlich, allerdings braucht es dafür keinen Server; das kann jeder auch von zuhause am normalen PC machen. Man startet es einfach, wählt die Windows und Office Versionen aus die man selber nutzt und startet es. Nach einiger Zeit – je nach Internetverbindung einer gefühlten Ewigkeit – ist es dann fertig. Dann kann man den Ordner zum Beispiel auf einen USB Stick oder einer Netzwerkfreigabe kopieren und alle PCs damit aktualisieren. Es werden auch nur bei der ersten Update Suche alle Dateien geladen. Wenn es neu gestartet wird werden nur neue Updates herunter geladen. Aber wer sich auch diese Mühe nicht machen möchte findet gleich die Lösung.

Schnellstart

Auch die Update-Suche mit WSUS Offline dauert etwas. Daher habe ich bei mir auf meinem Server die aktuellsten Updates zusammen gefasst. Es sind 2 Ordner, in „WSUS Offline“ liegt das jeweilige Verzeichnis drin was später auch von euch selbst aktualisiert werden kann, in „Update Pakete“ liegen jeweils pro Windows und Office Version eine .exe Datei drin. Es handelt sich hierbei um mit 7zip komprimierte Archive. Einfach starten und die Datei wird entpackt. Darin befindet sich ein Update Installer. Dieser muss einfach gestartet werden. Das System muss vermutlich mehrfach neu gestartet werden, daher nach jedem Neustart immer wieder neu starten bis etwas angezeigt wird wie „Nothing to do“ – zu Deutsch: Nichts zu tun. Dann sind alle Updates installiert. Man kann auch die Option aktivieren dass automatisch neu gestartet wird. Das funktioniert ganz gut, aber der Benutzer sollte dann kein Passwort zum Anmelden benötigen, sonst wird es etwas komplizierter. Aber kann man ja raus nehmen und danach wieder neu vergeben.

Update Rollup

Nur Gott weiß warum die das so genannt haben. Das betrifft jetzt nur Windows 7. Bei Microsoft arbeiten scheinbar auch Sadomasochisten, denn Leute die sich nicht so gut auskennen werden mit dem Begriff nichts anfangen können. Denen sei gesagt: Es ist zu sehen wie ein Service Pack 2 (SP2) von Windows 7. Es soll alle Updates bis zu dem jeweiligem Zeitpunkt beinhalten in dem es herunter geladen worden ist. Stimmt so aber nicht, es fehlen immer noch einige (mindestens 48). Aber ok, das Gröbste ist drin…

Download

Vorweg: Besucher die mobiles Internet nutzen (also via Handy oder SurfStick) sollten sich die Dateien nicht herunterladen, die sind sehr groß, teilweise über 5GB! Das würde in Deutschland jedes Inklusiv-Volumen überschreiten. (In Deutschland ist Internet ja noch #Neuland, da sind Maximum 5GB Standard. Schielt man mal gen Dänemark wo es 500GB sind… Naja… Pinky ist halt konsequent. Die schaffen es nicht vernünftig Leitungen zu verlegen und Funkwellen sind auch so ein Problem…)

Aktuell: Ich pflege mein WSUS Offline Archiv monatlich. Windows Updates kommen seitens Microsoft 1x monatlich an jeden 2. Dienstag des Monats heraus, durch die unterschiedlichen Zeitzonen aktualisiere ich es also Mittwochs. Da das Ganze etwas dauert ist also bei mir auf dem Server am Donnerstag oder Freitag alles aktuell. Es liegt immer eine leere Datei im Ordner mit dem Datum der letzten Aktualisierung als Dateiname (oder „Aktualisiere…“ falls ich grade am Updaten bin, dann solltet ihr lieber den nächsten Tag abwarten). Bei den Update Paketen schreibe ich das Datum immer in den Dateinamen, allerdings rückwärts, sprich Jahr, Monat, Tag. Das hat mit der alphabetischen Sortierung zu tun.

Hinweis: Auch wenn der Dateiname es suggerieren mag, es handelt sich nicht um die Betriebssysteme oder Office Versionen, sondern nur um deren Updates! Ihr braucht schon die jeweiligen Systeme bzw. Programme selbst, in originaler Form. Solltet ihr die aus … sagen wir mal „zwielichtigen Quellen“ bezogen haben und ein Update zerschießt euer System … Tja, Pech gehabt.

Auch ist noch anzumerken dass – keine! – Update Bibliothek alle Updates beinhalten kann. Es gibt ein paar Updates die nur für bestimmte Systeme benötigt werden. Diese sind nicht enthalten. Daher auch noch mal das reguläre Windows Update durchlaufen lassen wenn WSUS fertig ist.

Die Updates liegen hier auf meinem FTP Server (ist auch per Browser aufrufbar).

Link zu den Updates

Alternativ für diejenigen die einen FTP Client verwenden wollen:
Server: tightDev.Net
Port: 21
Benutzer: wsus
Passwort: wsus

Hilfe bei Fehlern

Es wird lange dauern bis die Installation durch ist, grade bei Windows 7 und erst recht ohne vorinstalliertem SP1, daher rate ich es an die Installation über Nacht laufen zu lassen. Manchmal kann es aber sein dass sich auch über Stunden nichts tut. In solchen Fällen ist es ratsam die Internetverbindung zu trennen und mit folgendem Befehl (Start - Ausführen) den Windows Update Dienst zu beenden:

net stop wuauserv

Vielleicht hilft es ja auch dem Einen oder Anderem.

In diesem Sinne noch einen schönen Tag :)