Updates zu Windows 7 hinzufügen

Wir benutzen an der Uni opsi, um Windows samt Software auf die Rechner zu bekommen. Das klappt meistens auch ganz gut. Was jedoch nervt - und so nichts mit opsi zu tun hat - ist, dass nach dem Aufsetzen der Rechner erst mal zig Sicherheitsupdates nachinstalliert werden müssen - das muss besser gehen.

Geht es auch: Microsoft schreibt dazu im Technet recht viel, aber keine Anleitung für ganz eilige 🙂 Und damit ich beim nächsten Mal nicht suchen muss, hier der Ablauf.

Updates für Windows 7 x64 hinzufügen

Die folgende Anleitung ist auf opsi abgestimmt, aber funktioniert grundsätzlich natürlich auch ohne…dann muss man halt nur wieder ein ISO bauen, wo die ausgetauschte Image-Datei drin liegt…

0. Vorbereitungen

Die WIM-Datei (also das Datei-Image), dem die Updates hinzugefügt werden sollen, liegt bei opsi unter $depot$/win7-x64/installfiles/sources/install.wim

Diese Datei kopiert man in sein lokales Arbeitsverzeichnis  - hier C:mkup (geht bestimmt auch übers Netz, aber so waren die Pfade kürzer 😉 ).

Und schliesslich benötigt man noch das WAIK. Das gibt es bei Microsoft als kostenlosen Download. Für diese Anleitung wird effektiv nur das Kommandozeilen-Tool dism gebraucht.

1. Image-Index bestimmen

Mit einer Windows-DVD (nichts anderes liegt unter installfiles/sources) kann man im Regelfall mehrere Versionen installieren (Home, Pro, usw.). Um die richtige Version zu bearbeiten (wir verwenden Pro), muss man herausfinden, wie diese intern referenziert wird - das geschieht über die Index-Nummer.

dism /Get-WIMInfo /WimFile:C:mkupinstall.wim

2. Image mounten

Das Image mit der richtigen Index-Nummer (die aus Befehl 1 😉 )wird jetzt in ein Verzeichnis gemountet, damit es beschrieben werden kann

dism /Mount-Wim /WimFile:C:mkupinstall.wim /index:3 /MountDir:C:mkupmount</pre>

3. Updates hinzufügen

Die Updates (wo auch immer die her sind - siehe weiter unten) liegen unter in diesem Fall unter C:updates. Mit dem folgenden Befehl werden diese dem gemounteten Image hinzugefügt. Dazu müssen die Updates entweder als cab- oder msu-Datei vorliegen.

dism /Image:C:mkupmount /Add-Package /PackagePath:C:updates

4. Image wieder packen

Mit dem letzten dism-Befehl werden die veränderten Dateien aus dem gemounteten Verzeichnis wieder in die install.wim gepackt.

dism /unmount-Wim /MountDir:C:mkupmount /Commit

5. Abschluss

Als Letztes wird die Imagedatei mit den Updates (install.wim) wieder nach $depot$/win7-x64/installfiles/sources/install.wim kopiert und gegebenenfalls werden mit

opsi-setup --set-rights $depot$/win7-x64/installfiles/sources

Rechte korrigiert. Danach kann die Installation eines Windows 7 mit allen Updates beginnen…

Was nicht soo toll ist

Was mich bei dem ganzen Ablauf noch stört: Die gewünschten Updates bekomme ich bei MS nicht soo einfach: Der empfohlene Weg ist scheinbar über den Update-Katalog, aber da wird man doof: Keine richtige Filtermöglichkeit ala “Alle Sicherheitsupdates für Windows 7 x64” (klar, ich kann “Windows 7 Sicherheit” eingeben, wie das auf den MS-Seiten steht….aber die 1000+ Treffer möchte ich nicht durcharbeiten…).

Dann könnte ich Treiberpacks nutzen, aber ich will die eigentlich direkt von unserem WSUS-Server bzw. von MS direkt. Behelfsweise realisiere ich das bei uns jetzt über wsusoffline. Dabei gab es aktuell nur das Problem, dass die Updates für .NET nicht verifiziert werden konnten und diese manuell aus dem Katalog von MS geladen werden mussten; weiterhin “fehlen” dann immer noch Updates, da wsusoffline “nur” Sicherheitsupdates installiert.