Vista Deployment - Unattended Setup

SonyXP

Lt. Commander
Registriert
Okt. 2005
Beiträge
1.759
Hallo zusammen :)

Zur Zeit beschäftige ich mich mit der Erstellung einer Unattended (unbeaufsichtigten) Windows Vista Installations-DVD.
Das Ganze funktioniert soweit auch schon ganz gut. Die normalen Benutzerdaten wie: Name, Organisation, Produktkey,
Zeitzone, Sprache, Computername etc werden in der Autounattend.xml erfaßt und während der Installation automatisch abgerufen.
Ebenso wird ein Script ausgeführt, welches beliebige Anwendungen installiert (Silent) und andere Dinge erledigt.
Außerdem wird ein Standarduser (Sony) mit Admin-Rechten erstellt.

Nun möchte ich aber noch Registry-Einträge hinzufügen - allerdings sollen diese via Autologin des Admin Accounts
aufgerufen und anschließend in den Default User kopiert werden, so dass jeder neu erstellte Benutzer
(während und nach der Installation) schon vorweg mit diesen, von mir gesetzen, Regtweaks eingerichtet wird.

Einigen Netz-Artikeln konnte ich entnehmen, dass es im Zusammenspiel mit dem Eintrag <CopyProfile>true</CopyProfile>
im Specialzise Pass der Autounattend.xml zu tun hat.

Wer hat Erfahrung damit und dies schon mit Vista SP1 (Home Premium, Ultimate, völlig egal) bewerkstelligt ?

Bedanke mich schon einmal im Voraus für jede Antwort

MfG
Sony

Update:
Hat sich erledigt, bin selbst auf die Lösung gekommen.
Interessierte bitte hier melden und ich poste nen kleinen Guide dazu :)
 
Zuletzt bearbeitet:
Interessierte bitte hier melden und ich poste nen kleinen Guide dazu


mich würde es interressieren, hatte das ganze auch mal versucht, aber nicht ganz hinbekommen..


wäre nett, wenn du einen Lösungsvorschlag posten kannst :D


danke
 
Hallo :)

Im Anhang befinden sich meine zwei Antwort-Dateien. Aus Zeitgründen kann ich das leider nur kurz erläutern. Wenn du dem englischen mächtig bist, erklärt sich die XML Struktur fast von selbst.

Die erste Datei "AutoUnattend" gehört ins RootVerzeichnis der DVD. Sie enthält meine Benutzerdaten, ProduktKey für die Installation, Ländereinstellungen, Zeitzone usw. Außerdem Wird dort unter Pass 4 (Specialize) nach einer Appsroot.txt Datei gesucht. Diese kennzeichnet die DVD und erhält ihren Laufwerksbuchstaben, damit man später diese Variable nutzen kann, um Programme von der DVD zu installieren. Die Appsroot.txt ist lediglich eine leere, 0-Byte datei und muss auch im RootVerzeichnis liegen.

Im OOBE pass wird (seit SP1) der Audit Mode aufgerufen. Dadurch wird der OOBE Pass auch sofort wieder verlassen. Weiterer Code im selben Pass würde ignoriert (Daher wird dieser in die 2. Datei "Unattend" ausgelagert). Der Audit-System Pass deklariert den Administrator Account und setzt den AutoLogin um sich im Audit Mode selbständig einzuloggen und alle im Audit-User befindlichen Kommandozeilen aufzurufen.

Wie du siehst, lautet das erste Kommando : cmd /c %AppsRoot%\Install\Install.cmd

Zuvor haben wir bereits durch einen Befehl im Specialize Pass den Laufwerksbuchstaben der DVD ermittelt und in %AppsRoot% gespeichert. Somit ruft dieses Kommando aus folgender Ordnerstruktur von der DVD auf:

DVD_Laufwerksbuchstabe:\Install\Install.cmd

Install.cmd
Code:
:: Installation der Applikationen

cmd /c %AppsRoot%\install\Applications\Firefox\Install.cmd
cmd /c %AppsRoot%\Install\Applications\Thunderbird\ThunderbirdSetup.exe -ms
cmd /c %AppsRoot%\Install\Applications\TotalCommander\TotalCommanderSetup.exe -s
cmd /c %AppsRoot%\Install\Applications\CCleaner\CCleanerSetup.exe -s
cmd /c %AppsRoot%\Install\Applications\KLCodecPack\KLCodecPackSetup.exe /verysilent /norestart /LoadInf=".\klcps.ini"
cmd /c %AppsRoot%\Install\Applications\FoxItReader\FoxItReaderSetup.msi /quiet
cmd /c %AppsRoot%\Install\Applications\WinRar\WinRarSetup.exe /S
cmd /c %AppsRoot%\Install\Applications\FDM\Install.cmd
cmd /c %AppsRoot%\Install\Applications\SmartFTP\SmartFTP.msi /QUIET /NoRestart

:: Registry Tweaks importieren
cmd /c Reg Import %AppsRoot%\Install\RegTweaks\StartmenuSettings.reg
cmd /c Reg Import %AppsRoot%\Install\RegTweaks\NetworkSettings.reg

Die Codebox zeigt alles, was in der Install.cmd aufgerufen wird. Meine Standardprogramme werden allesamt per "Silent" Switch installiert. Außerdem werden 2 Reg-Dateien in die Registry importiert (In den Admin Account).

Die letzte zeile im Audit-User Pass "veschließt" die Installation nun und verläßt den Audit-Mode. Dank des Eintrags "CopyProfile" im Specialize Pass der sich im Install Ordner befindlichen "Unattend.xml", wird das Admininistrator Profil in den "Default User" kopiert und dient als Vorlage für alle User, die im OOBE Pass (in Unattend.xml) oder später in Windows erstellt werden. Sämtlich Registry Settings können also schon während der Installation festgelegt werden.

Letztes Kommando des Audit-User Pass:
%WINDIR%\system32\sysprep\sysprep.exe /generalize /quiet /oobe /reboot /unattend:%AppsRoot%\Install\Unattend.xml

Zu guter letzt bietet sich noch die Möglichkeit ein Kommando beim 1. echten Login aufzurufen (also wenn das Setup beendet ist). In meinem Fall rufe ich unter "FirstLogon" (Unattended.xml / OOBE Pass) das Shell Script "Cleanup.cmd" auf, welches Temporäre Dateien der Installation löscht und ich beim Login ein saubereres System vorfinde.

Diese Anleitung bitte nur als Orientierung nehmen, um einen ersten Eindruck zu bekommen, was so in den Dateien / Passes geschieht. Eigene Änderungen am besten mit dem WSIM der WAIK Tools von MS durchführen. WSIM (Windows System Image Manager) ist der Editor von MS um unter anderem eigene Antwort Dateien zu erstellen / zu bearbeiten

Hier einige Links:
- WAIK Tools
- Vista Deployment / Guide
- Guide auf MSFN.org

Hoffe dir hiermit einen guten Start für das Projekt zu ermöglichen :)
 

Anhänge

Zuletzt bearbeitet:
danke SonyXP


echt lieb von dir....das hilft mir ungemein weiter


greetz
 
Gern geschehen - Lass mal von dir hören, Feedback etc :)
 
Hallo.

Ich bin auf diesen Beitrag aufmerksam geworden, da ich gerade an meinem Abschlussprojekt der Berufsausbildung arbeite..

Leider funktioniert es bei mir nicht ganz so wie es eigentlich sollte :(

Die Installation habe ich komplett automatisiert bekommen. Die Daten zur Automatisierten Installation werden im Gegensatz zu deinen von einem Windows Server 2008 bereitgestellt.
Das ändert ja grundsätzlich nichts..

Ich möchte aber auch automatisiert Benutzerkonten erstellen und die EULA akzeptieren.

Das Problem ist nun, dass nach abgeschlossener Installation jedesmal der OOBE Modus aufgrufen wird, egal was ich in der Antwortdatei einstelle.

Es wird nicht einmal Vista richtig gestartet und der Admin meldet sich am um sysprep mit meiner Unattended Datei, die ich direkt in das install.wim Image mit eingebunden hab auszuführen sonder nach der Installation kommt der OOBE Modus, wo man Eingabegebietsschema, Benutzernamen, Eula usw. eingeben muss :(

anbei meine unattended dateien.

Wenn ich nach der frischen Installation Sysprep unattended mit der sysprep_unattended.xml ausführe, dann macht er alles so wie ich es möchte. Aber eben nicht direkt in der automatisierten Installation..

vielleicht siehst du etwas, dass ich übersehen habe.. sonst bin ich ziemlich verzweifelt!

Danke im Vorraus :)
 

Anhänge

Hallo
sry dass ich das Thema wieder ausgrabe.
Hab ein ähnliches Problem aber bei Windows7.
Hab Win7 inst und befinde mich im "Audit Mode", hab da alle meine einstellungen gamacht und möchte di installation jetzt mit sysprep versiegeln und den "Administrator" Account in den "Default" user kopieren. bei Vista war das noch einfach über "systemeigenschaften->Benutzerprofile" möglich.
Bei Win7 wurde diese option nun leider deaktiviert und man soll dies mithilfe einer "unattend.XML" und dem "<CopyProfile>true</CopyProfile>" Eintrag machen.

Mein Problem liegt jetzt bei der unattend.XML die ich nicht hin bekomme. Ich möchte nur den "CopyProfile" ausführen.

hoffe mir kann wer weiter helfen.

PS: meine unattend.XML

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CopyProfile>true</CopyProfile>
<RegisteredOrganization />
<RegisteredOwner />
</component>
</settings>
<cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 7 HOMEPREMIUM" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

[Update]: Problem gelöst
Also nach dem stopen des WMP Dienstes geht Sysprep ohne Fehler auch mit dem "<copyprofile> true </copyprofile>" parameter.
 
Zuletzt bearbeitet:
Zurück
Oben