Windows XP unattended installation Teil 2. Benutzerkonten, Treiber und Programme einbinden

Im ersten Teil der Windows XP Unattended Installation Anleitung wurde ausführlich erklärt, wie man eine automatisierte Windows XP Installation erstellt und diese auf CD brennt. Durch bestimmte Angaben in der Antwortdatei winnt.sif werden viele Routinearbeiten während der Installation übersprungen, da man Angaben wie beispielsweise den Produktkey bereits vor der Installation angibt. Somit wird die Installation von Windows XP ohne Benutzereingaben wie "von Geisterhand" durchgeführt.

Dieser Artikel baut nun auf den ersten Teil auf und erweitert die unbeaufsichtigte Installation um einige interessante Möglichkeiten. Es ist nämlich möglich, bereits bei der Installation Benutzerkonten anzulegen, fehlende Treiber hinzuzufügen und Programme automatisch zu installieren. Somit erspart man sich beispielsweise die Zeit, grundlegende Standard-Software wie Adobe Acrobat Reader oder einen Mediaplayer nach der Installation manuell zu installieren.

Anleitung: Benutzerkonten anlegen

Das Anlegen eines Benutzerkontos ist in der Unattended Installation ein Kinderspiel. Voraussetzung ist, dass folgende Einträge in der winnt.sif vorhanden sind:

# AUSZUG winnt.sif

OemPreinstall=Yes
UnattendSwitch=Yes

Des Weiteren muss das Verzeichnis $OEM$ vorhanden sein. In diesem Verzeichnis legen wir nun eine Datei namens Cmdlines.txt ab, welche von der Unattended Installation automatisch abgearbeitet wird. Dieser Dateiname ist nicht beliebig, sondern ist quasi eine Systemdatei, welche während der Windows XP Installation abgearbeitet wird. Nun füllt man die Datei Cmdlines.txt mit folgendem Inhalt:

# Auszug Cmdlines.txt

[COMMANDS]
"benutzerkonten.cmd"
Windows XP Unattended Installation: Cmdlines.txt
Windows XP Unattended Installation: Cmdlines.txt

Im nächsten Schritt legen wir eine Batch-Datei an, welche einen beliebigen Dateinamen erhalten darf. In diesem Fall nennen wir die Datei benutzerkonten.cmd. Jetzt wird auch der Eintrag in der Cmdlines.txt deutlich, denn dieser ruft unsere neue Batchdatei auf.

Im nächsten Schritt schreiben wir die Befehle in die Batchdatei, welche eine Benutzerkonto anlegen:

# Auszug benutzeronten.cmd

net user "Peter Pan" /add
net localgroup Administratoren "Peter Pan" /add

Die erste Zeile legt den Benutzer Peter Pan an. Die zweite Zeile fügt diesen in die lokale Benutzergruppe Administratoren hinzu.

Windows XP Unattended Installation: Benutzerkonto anlegen
Windows XP Unattended Installation: Benutzerkonto anlegen

Fertig! Nach der Windows XP Installation ist unser neues Benutzerkonto bereits aktiv!

Anleitung: Fehlende Treiber hinzufügen

Um fehlende Treiber hinzuzufügen, muss man folgende Schritte durchführen:

  • Ein Treiberverzeichnis in $OEM$\$1\ erstellen. Dieses Verzeichnis findet man nach der Installation in C:\.
  • Windows mitteilen, dass es in diesen Verzeichnissen nach Treibern suchen soll

Beginnen wir mit den Treiberverzeichnissen. Es ist sinnvoll, die Treiber in Kategorien zu gliedern, also beispielsweise nach Hardware-Typ. In unserem Beispiel wurden vier Verzeichnisse für Chipsatz-, Netzwerk-, Grafikkarten-, Soundkarten- und Sonstige Treiber angelegt:

Windows XP Unattended Installation: Treiberverzeichnisse
Windows XP Unattended Installation: Treiberverzeichnisse

Während der Installation werden diese Verzeichnisse samt Inhalt nach C:\drivers\ kopiert. Nun kopiert man die Treiber-Dateien in das jeweilige Verzeichnis. Es ist wichtig, dass jeder Treiber als .inf-Version vorliegt, nicht als .exe-Datei. Leider werden Treiber oftmals als ausführbare EXE-Dateien ausgeliefert, so dass man ohne Weiteres nicht an die Inf-Dateien herankommt. Dazu schreibt Microsoft folgendes:

Tipp: Zip-Archive oder selbstextrahierende Treiberarchive lassen sich einfach entpacken. Danach können Sie die entpackten Dateien kopieren. Haben Sie jedoch den Treiber als .exe-Datei erhalten, können Sie einen Trick anwenden: Doppelklicken Sie auf die Setup-Datei wie zur Installation. Im nächsten Schritt entpackt das Setup die Dateien, meist in einen temporären Ordner. Brechen Sie dann die Installation ab und suchen Sie nach dem Ordner mit den entpackten Dateien. Diese können Sie dann für die unbeaufsichtigte Installation verwenden.

 

Windows XP unattended Installation: Treiber Inf-Dateien
Windows XP unattended Installation: Treiber Inf-Dateien

Wir sind nun fast am Ziel, denn die Treiberverzeichnisse sind vorhanden und die Treiberdateien an der richtigen Stelle. Im nächsten Schritt teilen wir Windows mit, wo nach den Treiberdateien zu suchen ist. Dazu tragen wir in der winnt.sif die Option OemPnPDriversPath mit den Treiberpfaden ein. In unserem Fall muss für jedes Verzeichnis der Pfad angegeben werden. Jeder Pfad wird mit einem Semikolon getrennt:

# Auszug winnt.sif

OemPnPDriversPath=drivers\000_chipset;drivers\004_other
DriverSigningPolicy=Ignore

Der Eintrag DriverSigningPolicy bewirkt, dass die Treiber nicht zertifiziert sein müssen. An diesem Punkt sind wir auch schon wieder fertig. Nach der Installation kann man die Auswirkungen in der Registry nachvollziehen. Dort wurde nämlich der Schlüssel DevicePath erstellt:

Windows XP unattended Installation: Treibersuchpfad in der Registry
Windows XP unattended Installation: Treibersuchpfad in der Registry

Kleiner Tipp am Ende: man sollte die Treiberinstallation per INF-Datei vorher testen und dann in die Unattended Installation einbinden.

Anleitung: Programme bei der ersten Anmeldung automatisch installieren

Es gibt viele (kostenlose) Programme, die auf einem Windows-Rechner einfach vorausgesetzt werden. Ein PDF-Reader, Mediaplayer und Office-Paket gehören nun einmal zur Grundaustattung eines jeden Anwender-PCs. Warum also diese Programme nicht einfach in die Unattended Installation mitaufnehmen?

Auch stellt an sich keine großen Probleme dar. Der schwierigere Teil erfolgt vor der Einbindung in die Unattended Installation, denn die Setup-Routine soll schließlich ohne Benutzerinteraktion im Hintergrund ablaufen. Hier ist man wiederum vom Software-Hersteller abhängig, ob dieser die Unterstützung einer unbeaufsichtigten Installation anbietet.

Viele Setup-Routinen bieten so genannte Schalter mit. Das sind Parameter, welche die Art und Weise der Installation beeinflussen. Ruft man beispielsweise eine setup.msi ohne Parameter auf, so startet die gewohnte Setup-Routine, welche die Angaben (Bestätigung Nutzerlizenz, Pfadangabe, usw) von dem Anwender erfordern. Ruft man setup.msi /quiet auf, so verläuft die Installation automatisch im Hintergrund.

Wichtig: Die Parameter sind von Software zu Software unterschiedlich

Beispiel: Adobe Reader 9

Wenn man unter http://get.adobe.com/de/reader/ die aktuelle Adobe Reader Version heruntergeladen hat, ist man erst einmal im Besitz einer EXE-Datei. Diese ist für die automatische Installation nicht geeignet, da man das so genannte MSI-File benötigt. In der Regel kann man folgenden Trick anwenden:

1.) Setup.exe starten
2.) Setup nach dem Entpacken abbrechen
3.) Im temporären Ordner nach den Installationsdateien suchen

Das Setup muss nach Entpacken der Installationsdateien abgebrochen werden
Das Setup muss nach Entpacken der Installationsdateien abgebrochen werden
Danach findet man das benötigte MSI-Paket in einem temporären Verzeichnis
Danach findet man das benötigte MSI-Paket in einem temporären Verzeichnis

In diesem Fall landen die Installationsdateien im Verzeichnis C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Adobe\Reader 9.0\Setup Files. Typische Ordner sind aber auch C:\Temp oder C:\Windows\Temp.

Im nächsten Schritt testen wir die Installation ohne Einbindung in die Unattended Installation. Dazu starten wir die Eingabeaufforderung und rufen das MSI-Paket mit dem Paramater /? auf, also AcroRead.msi /?. Danach werden die möglichen Optionen aufgerufen:

Installations-Parameter von Adobe Reader
Installations-Parameter von Adobe Reader

Daraus können wir schließen, dass sich die Adobe Reader 9 Installlation folgendermaßen automatisieren lässt:

AcroRead.msi /passive /norestart

Alternativ könnte man auch den Parameter /silent verwenden. Dieser sorgt aber dafür, dass der Anwender von der ganzen Installation überhaupt nichts mitbekommt, was auch nicht im Sinne des Erfinders ist. Die Parameter lassen viele Möglichkeiten offen, die man testweise ausprobieren kann.

Nun zum nächsten Schritt: nachdem die Installlation funktioniert hat und keine Benutzerinteraktion notwendig war, kann das MSI-File in die Unattended Installation eingebunden werden. Dazu legen wir zuerst den Ordner C:\XPCD\$OEM$\$1\install an. Hier werden dann alle Programme abgelegt, die installiert werden sollen. Nun kopiert man die Setup-Dateien in dieses neue Verzeichnis:

Installationsdateien werden im $OEM$\$1\install abgelegt
Installationsdateien werden im $OEM$\$1\install abgelegt

Das war aber noch nicht alles, denn zum jetzigen Zeitpunkt werden lediglich die Installationsdateien nach C:\install\AdobeReader9\ kopiert. Nun müssen wir dafür sorgen, dass das MSI-Paket auch ausgeführt wird, indem wir eine weitere Batchdatei, bsp. programme.bat, anlegen:

Batchdatei zum Ausführen der MSI-Datei
Batchdatei zum Ausführen der MSI-Datei

Der Inhalt der BAT-Datei enthält unsere vorherige Kommandozeile:

# Auszug programme.bat

@ECHO OFF
ECHO.
ECHO Installation von Adobe Reader 9
ECHO Bitte warten ...
start /wait %systemdrive%\install\AdobeReader9\AcroRead.msi /passive /norestart

Damit die Batchdatei auch automatisch ausgeführt wird, tragen wir folgendes in die winnt.sif:

# Auszug winnt.sif

[GuiRunOnce]
%systemdrive%\install\programme.bat

Fazit

Es ist zwar etwas schwieriger, eine sauber funktionierende Installationsroutine eines Programmes auszutesten, aber mit etwas Übung sollte dies auch keine größere Hürde darstellen. Erschwerend kommt hinzu, dass jedes Programm unterschiedlich ist und die meisten Hersteller kein MSI-Paket zur Verfügung stellen, so dass man sich mit Tricks behelfen muss.

Quellen:

http://support.microsoft.com/kb/907447/DE/