Druck-/Layout-Infos (hier: Quer-Format) - Stand: 22.05.2009 - Änderungen
Alle Angaben sind sorgfältig recherchiert, aber dennoch ohne Gewähr! Nutzung auf eigene Gefahr!
1. Download - Automatischer Download fast aller Updates
2. Installation - Optionen zum Ablauf einer Neu-Installation
3. Installation - Steuerung der Neu-Installation mit Skript-Dateien
3.1. Zur
WinNT.sif
3.2. Zur Erweit01.cmd
3.3. Zur Erweit02.cmd
3.4. Zur Patches.cmd
4. Download & Installation - step by step im Schnelldurchgang
5. Zur Updaten.cmd - Kontrolle & Aktualisierung einer bestehenden Installation
6. Protokolle und Protokoll-/Prüfordner
WICHTIGE HINWEISE: Diese Webseite ersetzt NICHT den regelmäßigen Besuch von "Windows-Update". Auf dieser Webseite erhalten Sie u.a. eine Lösung für den automatischen Download fast aller Updates. Weiterhin ist beschrieben, wie Sie eine neue Win2000 Boot-CD inkl. aller Updates erstellen können, um mit dieser CD eine (optional automatische) Windows-Installation laufen zu lassen, die dann bereits auf dem aktuellen Update-Stand ist. In diesem Themenkreis sind somit 3 Bausteine enthalten:
Bitte beachten Sie: Der auf dieser Webseite geschilderte Ablauf zur automatisierten Installation gilt für einen Einzelplatz-PC, der sich nicht im Netzwerk befindet und ohne Router arbeitet. Auch sonstige, besondere Hardware sowie insb. spezielle Treiber sind nicht berücksichtigt. Die Installation wurde vor dieser Veröffentlichung auf ca. 10 verschiedenen PCs erfolgreich getestet.
Diese Webseite ist recht umfangreich. Für 'Ungeduldige' existiert Kapitel 4 mit einer sofort nutzbaren Anleitung. Vorab eine Erläuterung ausgewählter Skript-Befehle, die in den Skripten (=Batch-Dateien) genutzt werden:
| REM | macht aus einer Zeile einen dateiinternen Kommentar |
| ECHO. / ECHO TextABC | gibt am Bildschirm eine Leerzeile bzw. "TextABC* aus |
| SUBST | ist ein Befehl, mit dem man Pfade zu virtuellen Laufwerken machen kann (siehe Windows-Hilfe) |
| IF (NOT) EXIST _ GOTO :NAME | wenn _ (nicht) existiert, dann gehe zu :NAME, wobei ':NAME' durch ':' zur sog. Sprungmarke wird |
| IF ERRORLEVEL 1 | ERRORLEVEL 1 ist das Ergebnis einer Abfrage und bedeutet 'nein' / 'Bedingung nicht erfüllt' |
| START /WAIT ...Befehl... | starte den ...Befehl... und warte, bis er fertig abgearbeitet ist |
| CALL | ruft eine weitere Skript-/Batch-Datei auf oder eine Unter-Routine innerhalb eines Skripts |
| CHDIR / MKDIR / RMDIR | wechselt (change) / erstellt (make) / löscht (remake) Ordner (directory) |
| COPY / DEL | Kopiert / Löscht Dateien |
| PAUSE | die Abarbeitung einer Skript-/Batch-Datei wird angehalten und erst per Tastendruck fortgesetzt |
| EXIT | dies beendet die Skript-/Batch-Datei und schließt die Eingabeaufforderung (='DOS'-Fenster) |
| Seitenanfang | Downloads | Installation | Steuerung | step by step | Updaten | Protokolle | Änderungen |
1. Download - Automatisierter Download fast aller Updates
Die Updateseite ist die Basis für dieses Kapitel. Nur Änderungen, die dort erscheinen, fließen auch hier in dieses Projekt ein. Per Anfang 2005 sind dort über 70 Updates aufgeführt. Diese manuell zu laden ist sicher mühselig. Doch es geht auch automatisch. Daher habe ich Skripte entwickelt, die fast alle Downloads automatisch erledigen - auch zukünftige!
Für dieses Projekt stehen auf der Updateseite im Updateanhang
2 Dateien zum Download bereit: Win2000CD.cab und Skripte.zip.
Im Windows-Explorer können Sie sich per Doppelklick auf eine CAB-Datei den
Inhalt anzeigen lassen. Sollte das nicht funktionieren, dann
-> Start -> Ausführen -> regsvr32 cabview.dll -> Ok.
Win2000CD.cab enthält ein weiteres, selbstentpackendes EXE-Archiv mit Namen Win2000CD.exe. Erst dieses Archiv enthält die eigentlichen Inhalte. Skripte.zip enthält Umfang.txt sowie die Skripte DLstart.cmd, DLtodo.cmd, DLu.cmd, Erweit01.cmd, Erweit02.cmd, Patches.cmd und Updaten.cmd. Die Skript-Dateien, zuständig für Downloads und Installationen, sind auch alle in Win2000CD.cab enthalten. Bei identischen Datumsangaben (zum Datum siehe hier) liegen also in beiden Archiven die selben Skripte vor.
Achtung: Die Installationsskripte, die mit dem Archiv Win2000CD.cab geliefert werden, sind getestet. Neuere Versionen, die mit Skripte.zip geliefert werden, sind nicht getestet. "nicht getestet" meint, daß diese Versionen nicht im Rahmen einer vollständigen (Test-) Installation von Windows 2000 überprüft wurden. Selbstverständlich werden auch die aktualisierten Skript-Dateien sorgfältig erstellt. Dennoch können Fehler nicht ausgeschlossen werden - insbesondere solche, die nur bei einer gemeinsamen Installation aller Updates festgestellt werden können. Aufgrund eines solchen Konfliktes existiert auch die Erweit02.cmd.
Eine neue Skripte.zip wird monatlich nach dem MS-Patch-Day erscheinen
(sofern neue Updates vorliegen). In der neuen DLu.cmd werden dann auch Befehle
zum Löschen ersetzter Updates enthalten sein. Eine neue Skripte.zip brauchen
Sie üblicherweise nicht separat downloaden, denn im Rahmen des Projekts ist
auch dies automatisiert. Sie erhalten dann einen Hinweis und müssen lediglich
DLstart.cmd erneut aufrufen.
Eine neue Win2000CD.cab wird dann erscheinen, wenn eine vollständige
(Test-) Installation von Windows 2000 durchgeführt wurde. Es reicht aus, sich
einmalig die Win2000CD.cab zu laden.
Für Erstbenutzer: Entpacken Sie Win2000CD.cab. Führen Sie Win2000CD.EXE aus und entpacken das Archiv auf ein Laufwerk mit min. 1 GB freiem Speicherplatz. Dabei wird ein Ordner ..\Win2000CD erstellt. Unterhalb von ..\Win2000CD finden Sie diese Inhalte:
Zwingend benötigt wird nun noch das
Download-Tool 'WGET' (Webseite
/ Download-Webseite
/ Download: "THIS ONE: 1.10.2. complete" - Direkt-Download: wget-1.10.2b.zip
(funktioniert evtl. nicht) - 941 KB - Stand: 17.10.05).
Entpacken Sie dann dieses ZIP-Archiv und kopieren alle Dateien in den Ordner
..\Win2000CD\$OEM$\Tools\WGET\1_10_2.
Welche Dateien sind für das Projekt bzw. das Downloaden relevant?
Beim Download sind die unter 1. - 6. genannten Dateien involviert. An das MMTT (= MMonatTTag) von DLU_MMTT.check kann eventuell noch ein Buchstabe angehängt sein. Dieser signalisiert, daß es an diesem Tag mehrere Skriptversionen gab. Die 2. Version erhält dann ein 'b' etc. Aus technischen Gründen (erforderliche Tests) kann dies vorkommen.
Ausnahmen beim Downloadumfang
Auf der Updateseite habe diverse Dateien ein farblich
unterlegtes Datum. Solche Dateien sind grundsätzlich manuell zu
laden.
Sobald Microsoft sein 'Genuine'-Programm ausweitet und bei den betroffenen
Updates die Prüfung der Windows-Version zur Pflicht macht, werden solche
Updates ebenfalls farblich markiert.
DLU_MMTT.check dient zur Prüfung, ob Sie mit den aktuellen Skripten arbeiten. Wenn es neue Skripte gibt, dann hat die Datei einen neuen Dateinamen erhalten. MMTT wurde dann aktualisiert. Auf dem Web-Server liegt dann nur noch die neue CHECK-Datei. Da diese Datei bei jeder Update-Kontrolle neu geladen wird, muß der Download der alten CHECK-Datei fehlschlagen. Sie erhalten dann die Meldung, daß neue Skripte vorliegen. Skripte.zip wird dann geladen und entpackt. Anschließend werden alle Dateien (außer DLstart.cmd und Umfang.txt) automatisch kopiert und somit die alten Versionen überschrieben. Danach ist lediglich ein erneuter Aufruf von dlstart.cmd nötig.
DLU_TEMP.cmd beinhaltet Downloadadressen nur temporär. I.d.R. sind das Updates, die zwischen 2 Microsoft Patch-Days erscheinen oder aus sonstigen Gründen zunächst nicht in DLU.cmd integriert werden. Die Datei wird automatisch neu geladen, wenn Sie ein neues Datum bzw. andere Inhalte hat. DLU_TEMP.cmd wird am Ende von DLU.cmd aufgerufen. Hinweise:
Hier der Inhalt einer dlu_temp.cmd ohne konkrete Updates:
@echo off
REM Wurde mit dlstart.cmd gestartet?
IF EXIST 5:\ GOTO :Weiter
ECHO. Sie MUESSEN dlstart.cmd aufrufen.
PAUSE
%windir%\system32\SUBST.EXE 5: /D
EXIT
:Weiter
REM
Datum Datei
Zielordner Download-Adresse
REM CALL:LOAD
GOTO :ENDE
:LOAD
IF NOT EXIST 5:\$OEM$\$1\Updates\%3 MKDIR 5:\$OEM$\$1\Updates\%3
IF EXIST 5:\$OEM$\$1\Updates\%3\%2 (
ECHO. Bestand: %1 - ..\%3\%2
ECHO. Bestand: %1 - ..\%3\%2 >>%LOG%
GOTO :EOF
)
ECHO Lade %2 ...
5:\$OEM$\Tools\wget.exe -c -q -P 5:\$OEM$\$1\Updates\_DL_temp %4
IF ERRORLEVEL 1 (
ECHO. --FEHLER bei ..\%3\%2
ECHO. --FEHLER bei ..\%3\%2 >>%LOG%
GOTO :EOF
)
MOVE /Y 5:\$OEM$\$1\Updates\_DL_temp\*.* 5:\$OEM$\$1\Updates\%3\%2 >NUL
ECHO. Ok.
ECHO. Geladen: ..\%3\%2 >>%LOG%
GOTO :EOF
:ENDE
ECHO. Ok, dlu_temp.cmd verarbeitet.
ECHO.
Analog zu dlu.cmd wird hier per 'CALL:LOAD' eine CALL-Schleife für jedes Update ausgeführt, an deren Ende 'GOTO :EOF' steht. Damit wird die Unterroutine beendet und - falls vorhanden - die Angaben (Datum, Dateiname, Zielordner und Downloadadresse) eines weiteren Updates verarbeitet, bis keins mehr da ist. Ist kein Update vorhanden, so ist dieses Skript sehr schnell abgearbeitet, so daß das (Haupt-) Skript dltodo.cmd fortgesetzt wird. Dort wird am Ende dann direkt das Protokoll angezeigt.
DLU.cmd beinhaltet alle regulären Downloadadressen der Updates. Außerdem sind einige Zusatzbefehle enthalten, um spezielle Dateien korrekt zu laden. Generell sind im Skript jedoch 2 CALL-Routinen vorhanden: CALL:LOAD zum Laden neuer Dateien und CALL:DELETE zum Löschen veralteter Dateien. Je Position liegen Dateiname, Zielverzeichnis sowie Downloadadresse vor. Nachfolgend ein Beispiel anhand von DirectX, MDAC sowie WebFolder, wie das Skript arbeitet.
Bei DirectX wird, wie zu Beginn jeder Erweiterung, der entsprechende
Zielordner angelegt, sofern er nicht bereits existiert. Danach wird Umfang.txt
ausgewertet.
Existiert dort "060_DIRECTX___=JA" wird
DirectX geladen. Wenn nicht wird per IF ERRORLEVEL 1 GOTO :MDAC
zu MDAC gewechselt. Bei MDAC existiert mittlerweile eine neue, gleichnamige
Version. Zunächst wird die alte Version per CALL:DELETE aus
dem Ordner 070_MDAC28 gelöscht. Danach wird die
neue Version per CALL:LOAD in den Ordner
070_MDAC28\SP1 geladen. Anschließend wird wiederum per
CALL:DELETE ein veralteter Patch gelöscht.
Sofern am Ende einer Zeile >>%LOG% steht, so werden diese Zeilen an die Protokolldatei angehängt, die nach dem Skript-Durchlauf angezeigt und gespeichert wird.
@echo off
...
:DIRECTX
IF NOT EXIST 5:\$OEM$\$1\Updates\060_DirectX90c MKDIR
5:\$OEM$\$1\Updates\060_DirectX90c
ECHO.
FIND /i "060_DIRECTX___=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 ECHO. HINWEIS: Keine Kontrolle von: DirectX 9.0c
IF ERRORLEVEL 1 ECHO. HINWEIS: Keine Kontrolle von: DirectX 9.0c >>%LOG%
IF ERRORLEVEL 1 GOTO :MDAC
ECHO DirectX 9.0c
CALL:LOAD directx_9c_redist.exe 060_DirectX90c http://download.microsoft.com/.../directx_9c_redist.exe
ECHO. Ok.
:MDAC
IF NOT EXIST 5:\$OEM$\$1\Updates\070_MDAC28\SP1 MKDIR
5:\$OEM$\$1\Updates\070_MDAC28\SP1
ECHO.
FIND /i "070_MDAC______=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 ECHO. HINWEIS: Keine Kontrolle von: MDAC 2.81
IF ERRORLEVEL 1 ECHO. HINWEIS: Keine Kontrolle von: MDAC 2.81 >>%LOG%
IF ERRORLEVEL 1 GOTO :WEBFOLDER
ECHO MDAC 2.81
CALL:DELETE MDAC_TYP.EXE
070_MDAC28 http://download.microsoft.com/.../MDAC_TYP.EXE
CALL:GENUINE MDAC_TYP.EXE 070_MDAC28\SP1
REM MDAC 2.80 - Patches
CALL:DELETE GER_Q832483_MDAC_x86.EXE Patches http://download.microsoft.com/.../GER_Q832483_MDAC_x86.EXE
ECHO. Ok.
...
Nachstehend nun die beiden CALL-Routinen ':LOAD' und ':DELETE', die oben genannt wurden:
:LOAD
IF EXIST 5:\$OEM$\$1\Updates\%2\%1 GOTO :EOF
ECHO. Lade %1 ...
5:\$OEM$\Tools\wget.exe -c -q -P 5:\$OEM$\$1\Updates\_DL_temp %3
IF ERRORLEVEL 1 (
ECHO --- DOWNLOAD-FEHLER bei ..\%2\%1
ECHO.
ECHO --- DOWNLOAD-FEHLER bei ..\%2\%1
>>%LOG%
ECHO. >>%LOG%
GOTO :EOF
)
ECHO. Geladen: ..\%2\%1 >>%LOG%
MOVE /Y 5:\$OEM$\$1\Updates\_DL_temp\*.* 5:\$OEM$\$1\Updates\%2\%1 >NUL
2>NUL
IF ERRORLEVEL 1 (
ECHO FEHLER ... >>%LOG%
ECHO. Bitte kontrollieren Sie den
Inhalt des Ordners ... >>%LOG%
ECHO. %PfadWinCD%\$OEM$\$1\Updates\_DL_temp\
>>%LOG%
ECHO. ENTFERNEN Sie ALLE Dateien
AUSSER ... >>%LOG%
ECHO. %1 >>%LOG%
ECHO. Rufen Sie dlstart.cmd erneut
auf. >>%LOG%
ECHO. Tritt erneut ein Fehler auf,
entfernen Sie ALLE Dateien! >>%LOG%
EXIT
)
GOTO :EOF
:DELETE
IF EXIST 5:\$OEM$\$1\Updates\%2\%1 ECHO Entfernt: ..\%2\%1 >>%LOG%
IF EXIST 5:\$OEM$\$1\Updates\%2\%1 DEL 5:\$OEM$\$1\Updates\%2\%1
GOTO :EOF
:GENUINE
IF EXIST 5:\$OEM$\$1\Updates\%2\%1 GOTO :EOF
ECHO. Folgende Datei fehlt: %1
ECHO. Microsoft verlangt zum Download seine Gueltigkeitspruefung.
ECHO. Bitte laden Sie die Datei manuell aus dem MS Download-Center
ECHO. in den Ordner \%2.
ECHO.
ECHO. >>%LOG%
ECHO. Folgende Datei fehlt: %1 >>%LOG%
ECHO. Microsoft verlangt zum Download seine Gueltigkeitspruefung. >>%LOG%
ECHO. Bitte laden Sie die Datei manuell aus dem MS Download-Center >>%LOG%
ECHO. in den Ordner \%2. >>%LOG%
ECHO. >>%LOG%
GOTO :EOF
Die Routinen werden jeweils per GOTO :EOF beendet. Das Skript kehrt dann an den ursprünglichen CALL-Aufrufpunkt zurück und arbeitet dann den nächsten Befehl ab. Das passiert so lange, bis alle Arbeiten erledigt sind.
DLTODO.cmd ist das (Haupt-) Skript, welches die Steuerung der Downloads übernimmt. Die Datei DLTODO.cmd verfügt über aussagekräftige, interne Kommentare. Ebenfalls sind etliche Routinen enthalten, die Fehler 'abfangen' und entsprechende Meldungen am Bildschirm ausgeben. Eine ausführliche Dokumentation der Datei findet daher hier nicht statt. Schauen Sie sich den Inhalt ggf. an. Lediglich Ende und Beginn des Skripts sowie das enthaltene 'Hauptmenü' werden kurz thematisiert.
Am Ende des Skripts wird bei der Sprungmarke ':SVC2KXP' das Skript zur Dienste-Konfiguration geladen, wenn es (1.) noch nicht geladen wurde oder (2.) auf dem Server eine neue Version vorliegt. Der (Nicht-) Download an sich wird in ..\$OEM$\$$\system32\svc_neu.log separat protokolliert. Ein erfolgter Download wird mit dem Download-Protokoll angezeigt.
Zu Beginn des Skripts werden per SET die Variablen MMTT und DATUMUTXT
definiert.
SET MMTT dokumentiert den aktuellen Stand der Skripte und ist auch Teil der
Datei-Namen von DLU_MMTT.check.
SET DATUMUTXT dokumentiert den Stand der Inhalte von Umfang.txt. Das Datum wird
im weiteren Verlauf ausgewertet. Sollte die Prüfung ergeben, daß im Ordner
..\$OEM$\$1\Updates\Skripte_NEU eine neuere Version von Umfang.txt liegt, dann
erhalten Sie eine Meldung und müssen Umfang.txt im Ordner ..\Updates (nicht
in ..\Updates\Skripte_NEU) manuell anpassen bzw. kopieren.
Nur mit diesem manuellen Eingriff ist es möglich, daß Sie Ihre Einstellungen
zum Download-/Installations-Umfang behalten und diese nicht automatisch
überschrieben werden. Das ist praktisch der einzige Eingriff, den Sie selbst
im Laufe des Projekts manuell machen müssen.
@echo off
REM Definiere das aktuelle Datum als MMonatTTag der Skripte.
REM Ein nachfolgender Buchstabe signalisiert mehrere Versionen
REM an einem Tag (b = 2. Version, c = 3. Version etc.).
REM ---
SET MMTT=0517
REM Kontrollwert zum aktuellen Datum der Datei 'umfang.txt'
REM ---
SET DATUMUTXT=000_DATUM=17.05.05
...
Nach dem Start von DLSTART.cmd wird DLTODO.cmd aufgerufen. Dabei wird zunächst der Inhalt von Umfang.txt dargestellt, um den aktuell definierten Downloadumfang angezeigt zu bekommen. Anschließend erscheint ein 'Hauptmenü' mit den Optionen [D] [W] [I] [Q]. Die Optionen [W] und [I] stehen auch OFF-line zur Verfügung. [D] funktioniert nur ON-line.
Bei [D] werden die Inhalte von DLU.cmd (gemäß Angaben in Umfang.txt) plus DLU_TEMP.cmd verarbeitet und somit alle Updates kontrolliert. In DLU_TEMP.cmd werden die Angaben von Umfang.txt generell nicht ausgewertet.
Bei [W] wird zu UPDATEN.cmd bzw. dem dortigen Menü gewechselt.
Bei [I] wird zum Skript ISOBUILD.cmd (wird hier nicht weiter
behandelt, da die Meldungen und Menüs selbsterklärend sein sollten)
gewechselt. Dies ermöglicht (1.) das Erstellen einer ISO-Datei,
die Sie (2.) auf eine CD(-RW) brennen können, um eine aktuelle
und bootfähige Win2000-CD zu erhalten. Im Skript wird an 2 Stellen das
Datenvolumen berechnet, wobei (a) zu Beginn das Datenvolumen aller
Dateien angezeigt wird und (b) vor dem Brennen der ISO-Datei deren
Größe angegeben wird, um einen geeigneten Rohling auszuwählen.
Achtung: Definieren Sie in dlstart.cmd
die 2 Variablen 'SET PfadISOCD=' und 'SET LWBRENNER='!
Bei [Q] verlassen Sie das Skript ohne jedwede Aktion.
:WAHL
TITLE - STARTDATEI - Downloads und Mehr zu Windows 2000 SP4
IF EXIST 5:\$OEM$\1.txt (
ECHO.
ECHO. Die Updates, die auf http://home.arcor.de/jterlinden/w2ksp4.htm
ECHO. ein farblich unterlegtes Datum
haben, sind MANUELL zu laden.
ECHO.
ECHO. Aktueller DOWNLOAD-Umfang ist:
FIND /i "_=" 5:\$OEM$\$1\Updates\umfang.txt
ECHO.
ECHO Auswahl:
ECHO --------
ECHO.
ECHO. [D] DOWNLOADS - Stand per %MMTT% = MMonatTTag
)
ECHO.
ECHO.
ECHO. [W] WINDOWS - Update-Status kontrollieren oder aktualisieren
ECHO.
ECHO. [I] ISO - Generiere ISO-Datei zum
Erstellen einer neuen W2k-Boot-CD
ECHO.
ECHO.
ECHO. [Q] Quit/Ende
ECHO.
:Auswahl
SET /p Eingabe= Ihre Auswahl bitte:
IF /i '%Eingabe%'=='d' GOTO :DOWNLOADS
IF /i '%Eingabe%'=='w' GOTO :WinUP
IF /i '%Eingabe%'=='i' GOTO :CDIMAGE
IF /i '%Eingabe%'=='q' GOTO :Quit
GOTO :Auswahl
:DOWNLOADS
MKDIR 5:\DLURLtemp
ECHO --------- >>%LOG%
ECHO. Umfang: ALLE Updates laut 5:\$OEM$\$1\UPDATES\UMFANG.TXT >>%LOG%
ECHO. : >>%LOG%
START /MAX /WAIT CALL 5:\dlu.cmd
GOTO :TOOLS
:CDIMAGE
DEL %LOG%
CLS
5:\isobuild.cmd
EXIT
:WinUP
DEL %LOG%
cls
5:\$OEM$\$1\Updates\updaten.cmd
EXIT
:Quit
DEL %LOG%
EXIT
DLSTART.cmd ist die Datei, die immer zum Start der Downloads aufgerufen werden muß. DLstart.cmd wird hier nicht weiter behandelt. Schauen Sie sich die Inhalte ggf. an - nur dieser Hinweis: DLstart.cmd ruft DLtodo.cmd auf und verbleibt dann als geöffnetes Fenster im Hintergrund. Bitte schließen Sie dieses Fenster nicht, das geschieht automatisch.
Bevor Sie die Downloads starten, müssen Sie folgende Dinge erledigen:
UMFANG.txt definiert, was alles geladen und installiert werden
soll. Ausnahme: Sun Java, wo die Angabe nur für den Download gilt.
Siehe auch weitere 'Ausnahmen beim
Downloadumfang'.
Hinsichtlich der Bedeutung für die Installation siehe Kapitel 3. Die datei-internen Kommentare sollten selbsterklärend sein. Nachfolgend nun der Inhalt per Stand 14.01.2009.
Diese Datei gehört zum Win2000-Projekt "Auto-Download &
Installation".
Sie können damit hier an EINER zentralen Stelle den Umfang definieren
von Erweiterungen (+ deren Patches) bzgl. a) Download
UND b) NEU-Installation
Definition "NEU-Installation": Eine NEU-Installation
im Sinne der Skripte
liegt AUCH dann vor, wenn bei einer 'nackten' W2k-SP4-Installation das
Skript
ERWEIT01.CMD gestartet wurde, um im Verlauf die Erweiterungen + Patches
zu installieren.
Die ersten 3 Ziffern entsprechen dem Beginn des Speicher-Ordners der
Erweiterung, gefolgt von einer genaueren Bezeichnung.
Die sich daran anschließenden '_'-Zeichen dienen der besseren Lesbarkeit
und dürfen NICHT gelöscht werden, da die Bezeichnungen SO KOMPLETT in
den Skripten 'abgefragt' werden.
Danach steht ein Gleichheitszeichen, gefolgt von einem 'JA' oder 'NEIN'.
=JA -> Die Erweiterung (+ evtl. Patches) wird
geladen/installiert.
=NEIN -> Die Erweiterung (+ evtl. Patches) wird NICHT
geladen/installiert.
Die Position '000_DATUM=' nennt das akt. Datum DIESER Datei. Es
wird in den
Skripten abgefragt. Kommt die Meldung 'nicht aktuell', vergleichen Sie
'umfang.txt' in den Ordnern ..\$OEM$\$1\Updates\
und ..\$OEM$\$1\Updates\Skripte_NEU\.
Bringen Sie 'umfang.txt' in ..\$OEM$\$1\Updates\ MANUELL auf den
akt. Stand.
000_DATUM=14.01.09
010_IEOE______=JA
020_ROOTSUPD__=JA
030_INSTALLER_=JA
041_MSJAVA____=JA
042_SUNJAVA___=NEIN Eintrag wird seit dem 22.09.06 NICHT mehr
beachtet!
050_WMP_______=JA
060_DIRECTX___=JA
070_MDAC______=JA
080_WEBFOLDER_=JA
090_MSXML_____=NEIN Siehe: http://home.arcor.de/jterlinden/w2ksp4.htm#msxml
100_WSCRIPT___=JA
110_MBSA_20___=JA
120_JVIEWER___=JA
130_NET_FW_11_=NEIN Siehe: http://home.arcor.de/jterlinden/w2ksp4.htm#netfwork
130_NET_FW_20_=NEIN sowie: http://home.arcor.de/jterlinden/autoinst.htm#update_ausschluss
140_RMCLIENT__=JA
140_RMADDONIE_=JA
150_UPHC______=JA
Sie können - nachdem Sie nun alle notwendigen Angaben gemacht haben - sofort beginnen. Sofern Sie bereits Update-Dateien vorliegen haben, kopieren Sie zuerst diese Dateien in den richtigen Ordner, damit sie nicht erneut geladen werden. Weitere Voraussetzung ist, daß diese Update-Dateien den Originalnamen von Microsoft haben. Bitte ändern Sie NIE (!) den Dateinamen vorhandener Downloads.
Besondere Hinweise zum Download der Update-Dateien für IE/OE 6 SP 1
Die Update-Dateien für IE/OE 6 SP 1 werden in 2 Schritten geladen. Erst erfolgt lediglich der Download von ie6setup.exe. ie6setup.exe wird dann mit dem Zusatz /c:"ie6wzd.exe /D /s:""#E""" gestartet. Ein Windows-Dialog erscheint, in dessen Verlauf der Download spezifiziert wird und die eigentlichen Update-Dateien geladen werden. Das Download-Skript pausiert in dieser Zeit. Beachten Sie bitte auch dies:
Achtung: Microsoft hat Mitte Mai '04 das Downloadpaket von IE/OE 6 SP1 geändert und den Patch KB 833989 eingearbeitet. Falls Sie noch ein älteres Paket haben löschen Sie bitte alle alten Dateien. Laden Sie die neue ie6setup.exe und dann das komplette Paket neu.
ONLINE-Check & Protokollierung
Zu Beginn der Downloadkontrolle findet ein ONLINE-Check statt. Dort wird die Datei 1.txt geladen. Schlägt dies fehl, so erscheint die Meldung 'WEB-Server ist NICHT erreichbar'. Sollten allerdings zur gleichen Zeit die Webseiten erreichbar sein, so finden Wartungsarbeiten am Projekt statt. Durch den verwehrten Zugriff soll das Laden falscher Ressourcen verhindert werden.
Weiterhin werden diverse Protokolle erstellt. Lesen Sie zu Details bitte Kapitel 6.
| Seitenanfang | Downloads | Installation | Steuerung | step by step | Updaten | Protokolle | Änderungen |
2. Installation - Optionen zum Ablauf einer Neu-Installation
Unter Berücksichtigung der im Vorwort genannten Bausteine (sowie den Dateien WinNT.sif + den 3 Installations-Skripten) gibt es verschiedene Möglichkeiten, Windows 2000 zu installieren.
| Alternative 1 | Win2000 | mit/ohne WinNT.sif | Service Pack 4 | Skripte manuell starten |
| Alternative 2 |
slipstreamed CD mit Win2000 inkl. SP4 |
ohne WinNT.sif | Skripte manuell starten | |
| Alternative 3 | mit WinNT.sif | Skripte manuell starten | ||
| Alternative 4 | mit WinNT.sif | Skripte automatisch starten | ||
Alternative 1: Hier wird Win2000 von Original-CD bzw. von einer CD ohne SP4 installiert. Die Installation kann mit oder ohne Winnt.sif erfolgen. Wenn m i t WinNT.sif installiert, so muss am Ende der WinNT.sif bei [GuiRunOnce] der Aufruf für die Erweit01.cmd de-aktiviert werden, denn das SP4 fehlt noch. Das Service Pack 4 wird nun erst installiert. Abschließend wird Erweit01.cmd manuell gestartet, wodurch im Verlauf weitere *.cmd ausgeführt werden, um Updates zu installieren.
Wird OHNE WinNT.sif installiert, müssen Sie die Dateien manuell kopieren - siehe hier. Bei allen folgenden Alternativen wird von einer slipstreamed CD - also Win2000 inkl. SP 4 - installiert.
Alternative 2: Hier wird ohne WinNT.sif installiert. Während der Installation müssen daher alle Anfragen manuell beantwortet werden. Abschließend wird Erweit01.cmd manuell gestartet, wodurch im Verlauf weitere *.cmd ausgeführt werden, um Updates zu installieren.
Alternative 3: Hier wird mit WinNT.sif installiert, wobei der Aufruf von WinNT.sif in der Erweit01.cmd deaktiviert ist. Abschließend wird Erweit01.cmd manuell gestartet, wodurch im Verlauf weitere *.cmd ausgeführt werden, um Updates zu installieren.
Alternative 4: Hier wird ebenfalls mit WinNT.sif installiert. Allerdings würde die Erweit01.cmd am Ende der WinNT.sif bei [GuiRunOnce] aufgerufen und die Installation aller Updates liefe automatisch ab.
| Seitenanfang | Downloads | Installation | Steuerung | step by step | Updaten | Protokolle | Änderungen |
3. Installation - Steuerung der Neu-Installation mit Skript-Dateien
In Kapitel 1 wurde bereits die Datei UMFANG.TXT dargestellt - siehe hier.
In dieser Datei wird definiert, was alles geladen werden soll. Sie
definiert aber auch, was alles installiert werden soll. Während der
Downloads (Kapitel 1) liegt diese Datei im Ordner ..\$OEM$\$1\Updates und wird
später mit auf die Boot-CD gebrannt. Während einer Neu-Installation
wird sie mit allen anderen Dateien auf die Festplatte kopiert und liegt dann im
Ordner %systemdrive%\Updates, wo sie während der Laufzeit der 4
Installations-Skripte ausgewertet wird.
In den Installations-Skripten wird jedoch geprüft, ob UMFANG.txt zusätzlich
auf Diskette im Laufwerk A:\ vorhanden ist. Falls 'ja', dann hat A:\UMFANG.TXT
Vorrang.
Damit brauchen die Installations-Skripte nicht den eigenen Wünschen
hinsichtlich des Installationsumfangs angepaßt werden, sondern lediglich die
Datei UMFANG.TXT. Insofern kann als Empfehlung gelten, die Downloads möglichst
umfassend zu tätigen und erst später vor der Installation eine angepaßte
UMFANG.TXT einzusetzen. Liegt kein Diskettenlaufwerk vor, so bietet sich an, die
Update-Installation nicht automatisch zu starten, um die UMFANG.TXT im Ordner
%systemdrive%\Updates kurz anzupassen. Die Update-Installation kann dann kurze
Zeit später manuell gestartet werden.
Im Vorwort sowie in Kapitel 2 wurden die Dateien 'WinNt.sif'
sowie die Skript-Dateien 'Erweit01.cmd',
'Erweit02.cmd', 'Patches.cmd'
und 'Updaten.cmd' genannt. Die Inhalte dieser Dateien werden nun dargestellt.
Der Text, der jeweils vor dem Dateiinhalt steht, bezieht sich auf Aspekte
innerhalb der Datei.
Der Text, der jeweils nach dem Dateiinhalt steht, bezieht sich auf
Aspekte zwischen den Dateien.
Mit den 4 Installationsskripten werden die auf der Updateseite unter 'Updateanhang' genannten Updates nicht installiert. Dieses Kapitel wird nicht aktualisiert, wenn neue Updates erscheinen, sondern nur bei Änderungen der strukturellen Vorgehensweise.
3.1 Zur WinNT.sif
Die Datei WinNT.sif ist eine sog. Antwortdatei. Wenn Sie Windows installieren, müssen Sie in etlichen Dialogfeldern ( = Fragen) Eingaben machen - Benutzername, Zeitzone, 25-stelliger CD-Keycode und so weiter ( = Antworten).
Diese Eingaben = Antworten stehen in der Datei WinNT.sif. Dadurch ist es möglich, Windows automatisch = unattended = unbeaufsichtigt zu installieren, da alle Antworten bereits vor den Fragen definiert wurden. Die Datei WinNT.sif kann auf der CD im Ordner ..\i386 und/oder auf einer Diskette gespeichert sein. Die Diskette muß während der Installation im Diskettenlaufwerk A.\ eingelegt sein. Eine WinNT.sif in A:\ hat Vorrang vor der Datei auf CD im Ordner ..\i386.
Beinhaltet die Datei alle für das Windows-Setup notwendigen Angaben, so läuft die gesamte Installation ohne Unterbrechungen autoamtisch ab (Ausnahme: Die beiden Unterbrechungen jeweils am Anfang und Ende). Fehlt eine Angabe, so pausiert das Setup und die Eingabe kann nachgeholt werden. Daher folgende Empfehlung:
Wenn Sie eine WinNT.sif mit auf die CD brennen, dann speichern Sie dort eine möglichst allgemeingültige Version (also ohne Versions- und User-Angaben), um diese ggf. mit einer vollständigen Datei auf Diskette zu überlagern. Oder nutzen Sie ausschließlich eine WinNT.sif auf Diskette, denn eine CD inkl. WinNT.sif hat den Nachteil, daß diese CD ausschließlich für Neuinstallationen eingesetzt werden kann, da nach dem Booten von einer solchen CD keine Reparaturfunktionen angeboten werden. Es wäre also in jedem Fall eine 2. CD ohne WinNT.sif nötig.
Die Installation von Windows wird dadurch gestartet, daß die bootfähige Windows-CD beim Starten des PCs im CD-Laufwerk liegt und von dieser CD gebootet wird. Hiezu ist es eventuell erforderlich, daß im BIOS "Booten von CD" (oder eine ähnliche Bezeichnung) auf Position 1 in der Bootreihenfolge zu ändern. Ins BIOS gelangt man bei vielen PCs durch drücken von <Entf> oder <F1> oder einer sonstigen Taste, wenn dies beim Startvorgang am Bildschirm angezeigt wird - z.B. als "Press <Del> to enter Setup".
Die Datei WinNT.sif ist in der Archivdatei Win2000CD.cab enthalten. Nachstehend finden Sie deren Inhalt. Sie ist für Deutschland erstellt. Andere Länder (Österreich/Schweiz etc.) erfordern ggf. andere Zeit-/Reginaleinstellungen. Möchten Sie weitere Einträge einarbeiten, so konsultieren Sie bitte die Datei 'unattend.doc'. Diese befindet sich auf der Windows 2000 CD in ..\SUPPORT\TOOLS\DEPLOY.CAB. Die Datei 'unattend.doc' ist leider englischsprachig, aber sie enthält eine vollständige Aufstellung aller Optionen.
Achtung: Wenn Sie in die WinNT.sif den 25-stelligen CD-Key eintragen, dann steht dieser als "ProductID" im Klartext (!) in der Datei %windir%\SYSTEM32\$WINNT$.inf. Sie können Sie diesen Eintrag manuell entfernen. Sie sollten aber nicht die Datei $WINNT$.inf löschen. Der CD-Key steht dort nicht, wenn er während des Setups eingeben wird.
Notwendige Anpassungen vom User:
- bei [UserData] die Werte für
FullName + ComputerName + ProductID eintragen
- bei [TapiLocation] die notwendigen
Angaben machen
- bei [GuiUnattended] das
AdminPassword vergeben oder '*' für kein Paßwort belassen
Optionale Anpassungen:
- bei [Branding] + [URL] + [Proxy]
ggf. die Angaben ändern
- bei [GuiRunOnce] entscheiden, ob die
Erweit01.cmd ausgeführt werden sollen
Inhalt von WinNT.sif
;SetupMgrTag
;
; Detaillierte Informationen zu den möglichen Optionen bei den einzelnen
Einträgen
; stehen in der Datei 'w2k_unattend.doc'. Diese ist auf der CD in der Datei
; 'deploy.cab' enthalten. 'Deploy.cab' liegt im CD-Verzeichnis ..\SUPPORT\TOOLS.
;
; Ein ';' am Anfang einer Zeile macht aus einem Eintrag lediglich einen
dateiinternen
; Kommentar. Der Zeileninhalt hat dann keine Auswirkung auf die
Setup-Ausführung.
; Setzen Sie also ein ';' vor eine Befehlszeile, um diese NICHT auszuführen.
[Data]
; AutoPartition=0 - Dies bewirkt die (wichtige) MANUELLE Auswahl der
Ziel-Partition.
;
Dadurch wird zwar die automatische Installation angehalten, aber
;
aus Sicherheitsgründen ist der Wert Null hier dringend geboten.
;
Nach den erforderlichen Angaben geht es automatisch weiter.
AutoPartition=0
; MsDosInitiated="0" - Eine unbeaufsichtigte Installation
erfolgt von CD.
MsDosInitiated="0"
; UnattendedInstall="Yes" - Eine unbeaufsichtigte
Installation soll erfolgen.
UnattendedInstall="Yes"
[Unattended]
; UnattendMode=DefaultHide - Dieser Parameter bewirkt, daß bei
fehlenden aber
;
notwendigen Angaben das Setup angehalten wird, damit
;
Sie Ihre Eingaben machen können. Sind alle notwendigen
;
Eingaben bereits vorhanden, läuft das Setup komplett
;
automatisch ab - bis auf die beiden
Unterbrechungen
;
am Anfang sowie am Ende vom Setup.
UnattendMode=DefaultHide
; OemSkipEula=Yes - Damit wird die EULA (Lizenzabkommen) automatisch
akzeptiert.
OemSkipEula=Yes
; OemPreinstall=Yes - Das CD-Verzeichnis \$OEM$ wird auf die
Festplatte kopiert.
OemPreinstall=Yes
; TargetPath=\WINNT - Windows wird im Verzeichnis \WINNT
installiert.
TargetPath=\WINNT
[GuiUnattended]
; AdminPassword=* - Durch den '*' wird KEIN Paßwort für
'Administrator' vergeben.
AdminPassword=*
; AutoLogonAccountCreation=Yes - Der bei [UserData],
'FullName' genannte User wird
;
angelegt. Er verfügt über ADMINISTRATOR-Rechte.
:
Diese Angabe hält die automatische Installation
;
an deren Ende an, also unmittelbar vor
;
der 1. User-Anmeldung! Es erscheint ein Dialogfeld
;
"Assistent für die Netzwerkanmeldung", wo das
;
User-Paßwort definiert werden muß.
;
Die bei [GUIRunOnce] stehenden Befehle
werden erst
;
danach ausgeführt!
AutoLogonAccountCreation=Yes
; OEMSkipRegional=1 - Wird für die unterbrechungsfreie
Durchführung benötigt.
OEMSkipRegional=1
; TimeZone=110 - Die Zeitzone für Deutschland wird eingerichtet.
TimeZone=110
; OemSkipWelcome=1 - Wird für die unterbrechungsfreie Durchführung
benötigt.
OemSkipWelcome=1
[UserData]
; FullName=JT - Der Name des Benutzers/Lizenznehmers wird
eingegeben.
FullName=
; ComputerName=JT-2005-01-31 - Der Name des PCs wird eingegeben.
ComputerName=
; ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX - Der CD-Key für Win2000
ist anzugeben.
ProductID=
[TapiLocation]
; CountryCode=49 - Hier steht die internationale Vorwahl für
Deutschland.
CountryCode=49
; Dialing=Tone - Hier wird 'Tonwahl' als Wahlverfahren für
den Wohnort eingetragen.
; Dialing=Pulse - Hiermit wird das (ältere) 'Impulswahlverfahren'
eingetragen.
Dialing=
; AreaCode=XXXXX - Hier wird die Telefonvorwahl des Wohnortes
eingetragen.
AreaCode=
; LongDistanceAccess="0" - Die Null für externe
Gespräche über eine Telefonanlage.
;
Falls benötigt, in der nächsten Zeile das ';' entfernen.
; LongDistanceAccess="0"
[RegionalSettings]
; LanguageGroup=1 - Setzt die Sprachgruppe auf West-Europa/USA.
LanguageGroup=1
; Language=00010407 - Legt das Tastaturlayout fest - hier 'Deutsch
(IBM)'
;
Bei "Deutsch (IBM)" werden mit festgestellter Großschreibung
;
(Shift-Lock) NUR Buchstaben GROSS geschrieben. Bei Ziffern
;
und allen anderen Tasten muß zur 'Groß'-Schreibung die
;
Shift-Taste betätigt werden.
Language=00010407
[Identification]
; JoinWorkgroup=ARBEITSGRUPPE - Die Installation wird der
'Arbeitsgruppe' zugefügt.
JoinWorkgroup=ARBEITSGRUPPE
[Networking]
; InstallDefaultComponents=Yes - Installation der
Standard-Netzwerkkomponenten.
InstallDefaultComponents=Yes
[Branding]
; BrandIEUsingUnattended=Yes - Angaben bei [URL] + [Proxy] werden
beachtet.
BrandIEUsingUnattended=Yes
[URL]
; Home_Page=about:blank - Als IE-Startseite wird eine leere Seite
definiert.
Home_Page=about:blank
; Search_Page=http://www.google.de - Die Standard-Suchseite wird neu
definiert.
; Search_Page=http://www.google.de
[Proxy]
Proxy_Enable=0
Use_Same_Proxy=0
[GUIRunOnce]
; Die hier genannten Befehle werden NACH der 1. Benutzer-Anmeldung ausgeführt.
;
; %systemdrive%\Updates\ERWEIT01.CMD - Das Skript ERWEIT01.CMD wird
aufgerufen und
;
startet die Installation der Erweiterungen.
;
Im weiteren Verlauf werden ERWEIT02.CMD und
;
PATCHES.CMD gestartet.
;
Dazwischen liegen jeweils autom. Neustarts.
; %systemdrive%\Updates\Erweit01.CMD
Im Bereich [GUIRunOnce] sind Befehle aufgeführt, die nach der 1. Benutzeranmeldung ausgeführt werden. Windows ist zu diesem Zeitpunkt praktisch schon vollständig installiert, doch es fehlen noch die Updates. Mit dem Befehl %systemdrive%\Updates\Erweit01.CMD wird die Datei Erweit01.cmd automatisch gestartet, die - als 1. von 4 Skript-Dateien - mit der Installation von Updates beginnt.
Standardmäßig ist der Aufruf des Befehls jedoch deaktiviert. Entfernen Sie das Semikolon zur Aktivierung. Dies kann jedoch nur empfohlen werden, wenn Sie vor der Update-Installation genau wissen, was Sie alles installieren möchten und dies in UMFANG.TXT definiert haben. Sollten hier jedoch noch Fragen offen sein oder der betreffende PC nicht über ein Diskettenlaufwerk (siehe auch hier) verfügen, so lassen Sie den Aufruf deaktiviert, um evtl. noch notwendige Anpassungen durchführen zu können. Die Umfang.txt anzupassen geht sehr schnell, so daß Sie bereits nach kurzer Zeit mit der Update-Installation fortfahren können. Das unterbricht zwar die vollautomatische Installation, erhöht aber die Flexibilität.
Aus technischen Gründen muß die Installation der Erweiterungen auf 2 Skript-Dateien aufgeteilt werden: Erweit01.cmd + Erweit02.cmd. Nachstehend finden Sie den Inhalt der Datei Erweit01.cmd (als Beispiel Stand August '05).
Gleich zu Beginn wird der Pfad zu Umfang.txt geprüft, ob die Hilfprogramme wie PsShudown.exe vorhanden sind und ob das Service Pack 4 bereits installiert wurde. Schließlich wird die REG-Datei AutoRegKeys.reg in die Registry importiert. Damit werden diverse Einstellungen vorgenommen. Zu Details schauen Sie sich bitte die Inhalte von AutoRegKeys.reg an. Am Ende wird das Benutzerkonto 'Gast' deaktiviert.
Notwendige Aktionen vom User, sofern MANUELL geladen wird:
- das Dienstprogramm 'PSshutdown' muß als psshutdown.EXE
im Ordner %windir%\system32 liegen
- das Dienstprogramm 'SC' muß als SC.EXE im Ordner %windir%\system32
liegen
- das Dienstprogramm 'svc2kxp' muß als svc2kxp.CMD im Ordner %windir%\system32
liegen
- bei [Internet Explorer] müssen vorher die
eigentlichen Update-Dateien geladen worden sein
Optionale Aktionen:
- bei nicht gewünschten Installation muß UMFANG.TXT
entsprechend angepaßt werden
- bei [Java] wird standardmäßig MS Java VM
und nicht SUN Java installiert - ggf. in UMFANG.TXT
ändern
- passen Sie ggf. die Inhalte von AutoRegKeys.reg
an (beachten Sie insbesondere den letzten Eintrag 'anonyme Verbindungen')
Inhalt von Erweit01.cmd
@echo off
TITLE Installiere Erweiterungen zu Win2000-SP4
REM Definiere den Pfad zu den Update-Dateien
SET PfadUpdates=%systemdrive%\Updates
REM Setze die Variable 'PfadUTXT' für den Pfad zur Datei 'umfang.txt'
REM Entweder Diskettenlaufwerk A: oder der oben per 'SET PfadUpdates='
REM definierte Pfad zu den Update-Dateien
DIR A:\umfang.txt >NUL 2>NUL
IF NOT ERRORLEVEL 1 (SET PfadUTXT=A:\) ELSE (SET PfadUTXT=%PfadUpdates%)
ECHO.
ECHO Mit den Installationsskripten werden alle Updates, also Erweiterungen
ECHO UND Patches, installiert - AUSSER 'Updateanhang', siehe:
ECHO. http://home.arcor.de/jterlinden/w2ksp4.htm#a50_updateanhang
ECHO.
REM ca. 5 Sekunden Pause
%windir%\system32\PING.EXE -n 5 127.0.0.1 >NUL
:TOOLS
REM Kontrolliere, ob die Hilfsprogramme vorhanden sind:
SET TOOL=TOOLSok
:PSSHUTDOWN
IF NOT EXIST %windir%\system32\psshutdown.exe (
ECHO.
ECHO Das Hilfsprogramm 'PSSHUTDOWN.EXE' ist NICHT vorhanden.
ECHO Download: http://www.microsoft.com/technet/sysinternals/utilities/psshutdown.mspx
CALL:TOOLSload
)
:SC
IF NOT EXIST %windir%\system32\SC.exe (
ECHO.
ECHO Das Hilfsprogramm 'SC.EXE' ist NICHT vorhanden.
ECHO Download: http://www.dynawell.com/reskit/microsoft/win2000/sc.zip
CALL:TOOLSload
)
:SVCMD
IF NOT EXIST %windir%\system32\svc2kxp.cmd (
ECHO.
ECHO Das Skript 'svc2kxp.cmd' ist NICHT vorhanden.
ECHO Download: ftp://ftp.microsoft.com/reskit/win2000/sc.zip
ECHO Optional: http://www.dynawell.com/reskit/microsoft/win2000/sc.zip
CALL:TOOLSload
)
GOTO :%TOOL%
:TOOLSload
ECHO.
ECHO Bitte das ZIP-Archiv in diesen Ordner entpacken:
ECHO. %windir%\system32
SET TOOL=TOOLSno
GOTO :EOF
:TOOLSno
ECHO.
ECHO Dieses Skript wird nach einem Tastendruck abgebrochen.
PAUSE >NUL
EXIT
:TOOLSok
:SP4check
REM Kontrolliere, ob das Service Pack 4 installiert ist ...
%WINDIR%\REGEDIT.EXE /e %TEMP%\SP_4.TXT "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion"
FIND /i "Service Pack 4" %TEMP%\SP_4.TXT >NUL
IF NOT ERRORLEVEL 1 GOTO :SP4ok
ECHO Das SP4 ist NICHT INSTALLIERT.
ECHO Installieren Sie ZUERST das Service Pack 4 von Windows 2000!
ECHO.
ECHO Dieses Skript wird nach einem Tastendruck abgebrochen.
PAUSE >NUL
EXIT
:SP4ok
:INSTALLATION
ECHO.
ECHO.
ECHO Vorbereitung:
ECHO Setze diverse Registry-Werte - zu Details siehe Inhalt von autoregkeys.reg
%windir%\REGEDIT.EXE /s %PfadUpdates%\autoregkeys.reg
ECHO. OK.
REM ca. 3 Sekunden Pause
%windir%\system32\PING.EXE -n 3 127.0.0.1 >NUL
ECHO.
ECHO.
ECHO Starte die Installation von Erweiterungen
ECHO.
:IEOE
FIND /i "010_IEOE______=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :ROOTSUPD
ECHO.
ECHO Installiere IE/OE 6 SP 1
REM Prüfe stichprobenmäßig, ob die Update-Dateien für IE/OE verfügbar sind
IF EXIST %PfadUpdates%\010_IEOE6sp1\IEW2K_4.CAB GOTO :IEOEinstall
ECHO.
ECHO A C H T U N G:
ECHO Hier sind ZUERST die IE/OE 6 SP 1 Update-Dateien downzuloaden.
ECHO Siehe unter ...
ECHO. http://home.arcor.de/jterlinden/w2ksp4.htm#ie6setup
ECHO.
ECHO Die Installation wird nach einem Tastendruck abgebrochen.
PAUSE >NUL
EXIT
:IEOEinstall
ECHO Dieser Vorgang dauert etwas. Bitte warten ...
START /WAIT %PfadUpdates%\010_IEOE6sp1\ie6setup.exe /Q:A /R:N
ECHO. OK.
:ROOTSUPD
FIND /i "020_ROOTSUPD__=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :INSTALLER
ECHO.
ECHO Installiere Update zum Stammzertifikat - Version 9
IF NOT EXIST %PfadUpdates%\020_Stammzertifikat\V9\rootsupd.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :INSTALLER
)
START /WAIT %PfadUpdates%\020_Stammzertifikat\V9\rootsupd.exe /Q:A /R:N
ECHO. OK.
:INSTALLER
REM Windows Installer 3.1 Version 1 wurde von Microsoft wegen Fehlern wieder
entfernt
FIND /i "030_INSTALLER_=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :MSJAVA
ECHO.
ECHO Installiere Windows Installer 3.1 - Version 2
IF NOT EXIST %PfadUpdates%\030_Installer\WindowsInstaller-KB893803-v2-x86.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :MSJAVA
)
START /WAIT %PfadUpdates%\030_Installer\WindowsInstaller-KB893803-v2-x86.exe /quiet
/norestart
ECHO. OK.
ECHO.
ECHO Installiere Windows Update Agent 2.0
IF NOT EXIST %PfadUpdates%\030_Installer\WUA_2006-11\WindowsUpdateAgent20-x86.exe
(
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :MSJAVA
)
START /WAIT %PfadUpdates%\030_Installer\WindowsUpdateAgent20-x86.exe /quiet /norestart
ECHO. OK.
:MSJAVA
FIND /i "041_MSJAVA____=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :SUNJAVA
ECHO.
ECHO Installiere JAVA von MS
REM Prüfe ob und mit welcher Version MS Java VM installiert ist
REGEDIT /e %TEMP%\MSJAVA.TXT "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID"
FIND /i "08B0E5C0-4FCB-11CF-AAA5-00401C608500" %TEMP%\MSJAVA.TXT >NUL
IF ERRORLEVEL 1 (ECHO MS Java VM - Voll-Version) ELSE (GOTO :MSJAVAupdate)
IF NOT EXIST %PfadUpdates%\041_MSJava\msjavx86.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :SUNJAVA
)
START /WAIT %PfadUpdates%\041_MSJava\msjavx86.exe /q "/C:javatrig.exe /L /exe_install
/nowincheck"
ECHO. OK.
:MSJAVAupdate
REM Prüfe ob MS Java VM in aktueller Version installiert ist
REGEDIT /e %TEMP%\MSJAVAup.TXT "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID
[Zeilenumbruch] \{08B0E5C0-4FCB-11CF-AAA5-00401C608500}"
FIND /i "5,0,3810,0" %TEMP%\MSJAVAup.TXT >NUL
IF ERRORLEVEL 1 (ECHO MS Java VM - Update auf Build 3810) ELSE (GOTO :MSJAVAok)
IF NOT EXIST %PfadUpdates%\041_MSJava\msjavWU.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :SUNJAVA
)
START /WAIT %PfadUpdates%\041_MSJava\msjavWU.exe /q "/C:javatrig.exe /L /exe_install
/nowincheck"
ECHO. OK.
:MSJAVAok
:SUNJAVA
FIND /i "042_SUNJAVA___=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :WMP
ECHO.
ECHO SUNJAVA wird seit dem 22.09.2006 NICHT mehr automatisch installiert!
ECHO Bitte erledigen Sie das manuell oder entfernen Sie im Skript
ECHO ERWEIT01.CMD die Zeile 'GOTO :WMP' UND aktivieren Sie den Befehl
ECHO zur Installation. Dateiname und Parameter koennen abweichen!
GOTO :WMP
REM
REM ECHO Installiere JAVA von SUN
REM - Installationsbefehl + Parameter bis 5.0 Update 7:
REM START /WAIT %PfadUpdates%\042_SUNJava\jre-1_5_0_07-windows-i586-p.exe
[Zeilenumbruch] /s /v"/qn ADDLOCAL=jrecore REBOOT=suppress"
REM
REM - Installationsbefehl + Parameter bei 5.0 Update 9 (vermutlich auch
Folgeversionen):
REM START /WAIT %PfadUpdates%\042_SUNJava\jre-1_5_0_09-windows-i586-p.exe
[Zeilenumbruch] /passive /norestart
ECHO. OK.
:WMP
FIND /i "050_WMP_______=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :MDAC
ECHO.
ECHO Installiere WMP Serie 9
IF NOT EXIST %PfadUpdates%\050_WMP9\mpsetup.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :MDAC
)
START /WAIT %PfadUpdates%\050_wmp9\mpsetup.exe /Q:A /R:N
ECHO. OK.
:MDAC
FIND /i "070_MDAC______=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :WEBFOLDER
ECHO.
ECHO Installiere MDAC 2.81 (2.8 SP1)
IF NOT EXIST %PfadUpdates%\070_MDAC28\SP1\MDAC_typ.EXE (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :WEBFOLDER
)
ECHO Dieser Vorgang dauert etwas. Bitte warten ...
START /WAIT %PfadUpdates%\070_mdac28\SP1\MDAC_typ.EXE /Q:A /c:"dasetup.exe
/q /n"
ECHO. OK.
:WEBFOLDER
FIND /i "080_WEBFOLDER_=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :MSXML
ECHO.
ECHO Installiere Web Folder Update
IF NOT EXIST %PfadUpdates%\080_WebFolder\Webfldrs-KB892211-DEU.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :MSXML
)
START /WAIT %PfadUpdates%\080_webfolder\Webfldrs-KB892211-ENU.exe /q
ECHO. OK.
:MSXML
REM ENTFÄLLT ZUR ZEIT - siehe auch:
REM http://home.arcor.de/jterlinden/w2ksp4.htm#msxml
:WSCRIPT
FIND /i "100_WSCRIPT___=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :MBSA
ECHO.
ECHO Installiere Windows Script 5.6
IF NOT EXIST %PfadUpdates%\100_WScript\WindowsXP-Windows2000-Script56-KB917344-x86-deu.exe
(
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :MBSA
)
START /WAIT %PfadUpdates%\100_WScript\WindowsXP-Windows2000-Script56-KB917344-x86-deu.exe
/Q:A /R:N
ECHO. OK.
:MBSA
FIND /i "110_MBSA_121__=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :MBSA_20
ECHO.
ECHO Installiere MBSA 1.2.1
IF NOT EXIST %PfadUpdates%\110_MBSA\V121\MBSASetup-DE.msi (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :MBSA_20
)
START /WAIT %PfadUpdates%\110_MBSA\V121\MBSASetup-DE.msi /QN
ECHO. OK.
:MBSA_20
FIND /i "110_MBSA_20___=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :JVIEWER
ECHO.
ECHO Installiere MBSA 2.0
IF NOT EXIST %PfadUpdates%\110_MBSA\V201\MBSASetup-DE.msi (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :JVIEWER
)
START /WAIT %PfadUpdates%\110_MBSA\V2\MBSASetup-DE.msi /QN
ECHO. OK.
:JVIEWER
FIND /i "120_JVIEWER___=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :NET_FW_11
ECHO.
ECHO Installiere Journal Viewer 1.5
IF NOT EXIST %PfadUpdates%\120_JournalViewer\V15_2316\setup.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :NET_FW_11
)
START /WAIT %PfadUpdates%\120_JournalViewer\V2\setup.exe /q:a /r:n /c:"jvsetup.exe
/q"
ECHO. OK.
:NET_FW_11
FIND /i "130_NET_FW_11_=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :RMC
ECHO.
ECHO NET Framework 1.1 - Teil 1 von 3 - Installiere Basispaket
IF NOT EXIST %PfadUpdates%\130_NETFramework\V11\dotnetfx.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :NET_FW_11_SP1
)
ECHO Dieser Vorgang dauert etwas. Bitte warten ...
START /WAIT %PfadUpdates%\130_NETFramework\V11\dotnetfx.exe /q /c:"install.exe
/qb"
ECHO. OK.
ECHO.
ECHO NET Framework 1.1 - Teil 2 von 3 - Installiere Sprachpaket
IF NOT EXIST %PfadUpdates%\130_NETFramework\V11\langpack.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :NET_FW_11_SP1
)
START /WAIT %PfadUpdates%\130_NETFramework\V11\langpack.exe /q /c:"inst.exe
/qb"
ECHO. OK.
:NET_FW_11_SP1
ECHO.
ECHO NET Framework 1.1 - Teil 3 von 3 - Installiere Service Pack 1
IF NOT EXIST %PfadUpdates%\130_NETFramework\V11\NDP1.1sp1-KB867460-X86.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :RMC
)
ECHO Dieser Vorgang dauert etwas. Bitte warten ...
START /WAIT %PfadUpdates%\130_NETFramework\V11\NDP1.1sp1-KB867460-X86.exe /q
ECHO. OK.
:RMC
FIND /i "140_RMCLIENT__=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :WEITER
ECHO.
ECHO Installiere Rechteverwaltungs-Client und Client-Komponente 'Backwards
Compatibility'
IF NOT EXIST %PfadUpdates%\140_RM\WindowsRightsManagementServicesSP2-KB917275-Client-GER-x86.exe
(
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :WEITER
)
START /WAIT %PfadUpdates%\140_RM\WindowsRightsManagementServicesSP1-KB839178-Client-ENU.exe
[Zeilenumbruch] -q -x:%PfadUpdates%\140_RM\temp
START /WAIT %PfadUpdates%\140_RM\temp\msdrmclient.msi /qb
START /WAIT %PfadUpdates%\140_RM\temp\rmclientbackcompat.msi /qb
RMDIR /S /Q %PfadUpdates%\140_RM\temp
ECHO. OK.
:WEITER
REM De-Aktiviere das Benutzerkonto GAST
NET USER GAST /active:no
REM De-Aktiviere das von .NET-Framework angelegte Benutzerkonto ASPNET
NET USER ASPNET /active:no >NUL 2>NUL
REM ca. 3 Sekunden Pause
%windir%\system32\PING.EXE -n 3 127.0.0.1 >NUL
REM Lösche die temporären Dateien ...
DEL /Q %TEMP%\MDAC281.TXT >NUL 2>NUL
DEL /Q %TEMP%\MSJAVA*.TXT >NUL 2>NUL
DEL /Q %TEMP%\SP_4.TXT 2>NUL
:RebootCheck
REM Kontrolliere, was nach dem Neustart zu installieren ist
REM und kopiere das richtige Installationsskript.
FIND /i "060_DIRECTX___=JA" %PfadUTXT%\umfang.txt >NUL
IF NOT ERRORLEVEL 1 GOTO :ERWEIT02
FIND /i "130_NET_FW_20_=JA" %PfadUTXT%\umfang.txt >NUL
IF NOT ERRORLEVEL 1 GOTO :ERWEIT02
FIND /i "140_RMADDONIE_=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :UPDATEN
:ERWEIT02
COPY "%PfadUpdates%\erweit02.cmd" "%ALLUSERSprofile%\Startm~1\Programme\Autostart"
GOTO :NEUSTART
:UPDATEN
COPY "%PfadUpdates%\patches.cmd" "%ALLUSERSprofile%\Startm~1\Programme\Autostart"
:NEUSTART
%windir%\system32\psshutdown.exe -r -t 12 -m "Der PC MUSS neu gestartet
werden. Die Installation wird
[Zeilenumbruch] danach fortgesetzt."
IF EXIST "%ALLUSERSprofile%\Startm~1\Programme\Autostart\erweit01.cmd"
DEL
[Zeilenumbruch] "%ALLUSERSprofile%\Startm~1\Programme\Autostart\erweit01.cmd"
EXIT
Am Ende von Erweit01.cmd wird ab der Sprungmarke ':RebootCheck' geprüft, was in Umfang.txt zu den Erweiterungen steht, die mit Erweit02.cmd installiert werden. Soll eine der Erweiterungen installiert werden, wird Erweit02.cmd in den Autostart-Ordner von 'All Users' kopiert. Ansonsten wird Patches.cmd dorthin kopiert, Erweit02.cmd also komplett übersprungen. Danach wird der automatische Neustart eingeleitet, der 12 Sekunden später erfolgt. Nach dem Neustart wird das kopierte Skript automatisch gestartet.
Die separate Erweit02.cmd ist notwendig, da es bei der gemeinsamen Installation aller Erweiterungen zu Konflikten kommt.
Wie bei Erweit01.cmd wird auch hier zunächst der Pfad zu Umfang.txt geprüft.
Notwendige Anpassungen vom User:
- keine
Optionale Anpassungen:
- bei nicht gewünschten Installation muß UMFANG.TXT
entsprechend angepaßt werden
Inhalt von Erweit02.cmd (als Beispiel Stand August '05)
@echo off
TITLE Installiere Erweiterungen zu Win2000-SP4 - Letzter Teil
REM Definiere den Pfad zu den Update-Dateien
SET PfadUpdates=%systemdrive%\Updates
REM Setze die Variable 'PfadUTXT' für den Pfad zur Datei 'umfang.txt'
REM Entweder Diskettenlaufwerk A: oder der oben per 'SET PfadUpdates='
REM definierte Pfad zu den Update-Dateien
DIR A:\umfang.txt >NUL 2>NUL
IF NOT ERRORLEVEL 1 (SET PfadUTXT=A:\) ELSE (SET PfadUTXT=%PfadUpdates%)
ECHO.
ECHO. Setze die Installation von Erweiterungen fort ...
ECHO.
:DIRECTX
FIND /i "060_DIRECTX___=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :NET_FW_20
ECHO Installiere DirectX 9.0c
IF NOT EXIST %PfadUpdates%\060_DirectX90c\directx_9c_redist.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :NET_FW_20
)
ECHO Dies dauert etwas. Bitte warten ...
START /WAIT %PfadUpdates%\060_DirectX90c\directx_9c_redist.exe /q /t:%PfadUpdates%\060_DirectX90c\Temp
START /WAIT %PfadUpdates%\060_DirectX90c\Temp\dxsetup.exe /silent
RMDIR /S /Q %PfadUpdates%\060_DirectX90c\Temp
ECHO. OK.
:NET_FW_20
FIND /i "130_NET_FW_20_=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :RMU
ECHO.
ECHO NET Framework 2.0 - Teil 1 von 2 - Installiere Basispaket
IF NOT EXIST %PfadUpdates%\130_NETFramework\V2\dotnetfx.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :RMU
)
ECHO Dieser Vorgang dauert etliche Minuten. Bitte warten ...
START /WAIT %PfadUpdates%\130_NETFramework\V2\dotnetfx.exe /q /c:"install.exe
/qb /lang <1031>"
ECHO. OK.
ECHO.
ECHO NET Framework 2.0 - Teil 2 von 2 - Installiere Sprachpaket
IF NOT EXIST %PfadUpdates%\130_NETFramework\V2\langpack.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :RMU
)
REM START /WAIT %PfadUpdates%\130_NETFramework\V2\langpack.exe /q /c:"inst.exe
/qb"
ECHO. OK.
:RMU
FIND /i "140_RMADDONIE_=JA" %PfadUTXT%\umfang.txt >NUL
IF ERRORLEVEL 1 GOTO :ENDE
ECHO.
ECHO Installiere Internet Explorer 6 Add-On zur Windows-Rechteverwaltung
IF NOT EXIST %PfadUpdates%\140_RM\RMUsetup.exe (
ECHO Die erforderliche Datei ist NICHT vorhanden ...
GOTO :ENDE
)
START /WAIT %PfadUpdates%\140_RM\RMUsetup.exe /c:"setup.exe /qb"
ECHO. OK.
:ENDE
REM De-Aktiviere das von .NET-Framework angelegte Benutzerkonto ASPNET
NET USER ASPNET /active:no >NUL 2>NUL
COPY %PfadUpdates%\patches.cmd "%ALLUSERSprofile%\Startm~1\Programme\Autostart"
>NUL
%windir%\system32\psshutdown.exe -r -t 12 -m "Der PC MUSS neu gestartet
werden. Die Installation wird
[Zeilenumbruch] danach fortgesetzt."
DEL "%ALLUSERSprofile%\Startm~1\Programme\Autostart\erweit02.cmd"
EXIT
Am Ende von Erweit02.cmd wird die Datei Patches.cmd in den Autostart-Ordner von 'All Users' kopiert. Danach wird der automatische Neustart eingeleitet, der 12 Sekunden später erfolgt. Während dieser Zeit wird noch die Erweit02.cmd aus dem Autostart-Ordner gelöscht. Nach dem Neustart wird die Patches.cmd automatisch gestartet.
Im Skript Patches.cmd wird zunächst der Prüf-Ordner
%systemdrive%\$_INST erstellt - und in diesem der Unterordner \I_%ZEIT%
mitsamt der Datei 'Ordnerinfo.txt'. Dieses Konstrukt ist notwendig, um im
weiteren Verlauf in 'Updaten.cmd' zu prüfen, ob eine Neu-Installation
vorliegt. Falls 'ja', wird in Updaten.cmd das Menü übersprungen.
Als nächster Schritt wird das Skript Updaten.cmd
aufgerufen, was die Installationen durchführt - Details siehe Kapitel
5. Am Ende werden noch die Windows-Dienste
konfiguriert.
Notwendige Aktionen vom User:
- keine
Optionale Anpassungen - Dienstekonfiguration:
Bei 'call %windir%\system32\svc2kxp.cmd'
können Sie vorab schon einen der Parameter ' /LAN', ' /STD', ' /ALL' anhängen.
Standardmäßig wird das Skript mit dem Parameter /ALL aufgerufen. Damit sind ab
der Skript-Version 2.2 Build 5b keine Benutzereingriffe mehr notwendig. Falls
Sie die Dienste nicht konfigurieren möchten, entfernen Sie das REM am Anfang
der Zeile REM GOTO :ENDE.
Inhalt von Patches.cmd
@echo off
TITLE Starte das Update-Skript ...
REM Erstelle zu Prüfzwecken ...
SET
ZEIT="%date:~9,4%-%date:~6,2%-%date:~3,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%"
REM ... den Ordner ...
MKDIR %systemdrive%\$_INST\I_%ZEIT%
REM ... und darin eine Infodatei.
ECHO. > %systemdrive%\$_INST\I_%ZEIT%\Ordnerinfo.txt
ECHO. NACH einer Neuinstallation kann >> %systemdrive%\$_INST\I_%ZEIT%\Ordnerinfo.txt
ECHO. dieser Ordner entfernt werden. >> %systemdrive%\$_INST\I_%ZEIT%\Ordnerinfo.txt
ECHO Starte das Skript zum Updaten ...
START /WAIT /MAX CALL %systemdrive%\Updates\updaten.cmd
ECHO. Ok. Der Vorgang ist abgeschlossen.
ECHO.
:DIENSTE
IF EXIST "%USERPROFILE%\ntsvcfg" GOTO :ENDE
TITLE Konfiguriere die Windows-Dienste ...
REM Die Installationen sind fertig. Die Konfiguration der Windows-Dienste
REM fehlt noch. Dazu wird gleich das Skript 'svc2kxp.cmd' aufgerufen.
REM H I N W E I S E, falls Sie das Skript O H N E Parameter starten:
REM Beenden Sie das Skript wie gefordert mit einem Tastendruck.
REM Beenden Sie das Skript NICHT per Klick auf [X] oben rechts im Fenstertitel!
REM GOTO :ENDE
CALL %windir%\system32\svc2kxp.cmd /ALL
REM
REM Setze nun den Status von Diensten neu, denn falls beim Skript
REM Option 3 = Parameter /ALL genutzt wurde, sind sie z.T. deaktiviert.
REM Zum Funktionieren des MBSA erforderlich:
%windir%\system32\SC.EXE config lanmanserver start= auto
REM
REM Zum Funktionieren von Windows-Update (V6) erforderlich:
REM 1.: Automatische Updates auf Automatisch + Gestartet
%windir%\system32\SC.EXE config wuauserv start= auto
%windir%\system32\SC.EXE start wuauserv
REM 2.: Intelligenter Hintergrundübertragungsdienst (BITS) auf Manuell
%windir%\system32\SC.EXE config bits start= demand
:ENDE
REM Lösche Hilfsordner und Skript - starte PC neu
IF EXIST %systemdrive%\$_INST RMDIR /S /Q %systemdrive%\$_INST
%windir%\system32\psshutdown.exe -r -t 25 -m "Der Computer MUSS neu
gestartet werden.
[Zeilenumbruch] FALLS die Windows-Dienste konfiguriert wurden,
befindet sich das
[Zeilenumbruch] System nun in einem sicheren Zustand und kann online
gehen."
DEL "%ALLUSERSprofile%\Startm~1\Programme\Autostart\patches.cmd"
EXIT
Am Ende des Gesamtablaufs sind alle Updates installiert und die
Windows-Dienste wurden konfiguriert. Der automatische Neustart wurde
eingeleitet, der 25 Sekunden später erfolgt. Im Meldefenster von psshutdown.exe
erscheint eine Nachricht. Während dieser Zeit wird noch die Patches.cmd aus dem
Autostart-Ordner gelöscht.
Haben Sie die Windows-Dienste nicht konfiguriert, so sollten Sie dies nachholen.
Tun Sie dies bitte, bevor Sie das 1. Mal online gehen.
| Seitenanfang | Downloads | Installation | Steuerung | step by step | Updaten | Protokolle | Änderungen |
4. Download & Installation - step by step im Schnelldurchgang
In diesem Kapitel finden Sie nochmals alle Aktionen Schritt für Schritt
beschreiben, wie Sie zu einer Windows 2000 CD gelangen, auf der bereits das
Service Pack 4 integriert und alle Updates vorhanden sind. Sie benötigen einen
CD-Brenner mit einem Brennprogramm, das bootfähige CDs erstellen kann, die
Windows 2000 CD und alle hier genannten Downloads. Außerdem benötigen Sie ein
Programm, um ZIP-Archive entpacken zu können, sowie als Datenträger eine
Diskette und eine CD - besser jedoch eine CD-RW, um bei fehlerhaften
Brennversuchen gerüstet zu sein.
Achtung: Die Erstellung der CD muss unter Windows 2000 erfolgen. Windows
XP funktioniert auch, Windows 2003 vermutlich ebenfalls. Windows NT,
95/98 sowie ME gehen nicht.
Um (fehlende) Updatedateien zu laden wäre DSL sehr vorteilhaft. Das Service Pack 4 ist 130 MB groß. Stand April 2005 umfassen alle Erweiterungen gut 150 MB und alle Patches knapp 70 MB. Für den automatischen Download fast aller Updates siehe Kapitel 1.
Sollten Sie keinen CD-Brenner oder ein adäquates Brennprogramm zur Verfügung haben, so müssen Sie Ihre Installation 'manuell' gemäß Kapitel 2, 'Alternative 1' erstellen. Diesen Abschnitt hier sollten Sie dennoch lesen.
Downloaden Sie die Archiv-Datei Win2000CD.cab
und lassen Sie sich den Inhalt per Doppelklick im Windows Explorer anzeigen.
Sollte das nicht funktionieren, dann -> Start -> Ausführen ->
regsvr32 cabview.dll -> Ok. Nun sollte es gehen.
Entpacken Sie Win2000CD.cab. Darin ist das selbstentpackendes Archiv
Win2000CD.exe enthalten, welches Sie per Doppelklick auf ein Laufwerk
mit min. 1 GB freiem Speicherplatz entpacken müssen. Der Ordner 'Win2000CD'
wird erstellt. Er enthält etliche kleinere Dateien und die spezielle $OEM$-Ordnerstruktur
- Details.
Ich benutze in diesem Beispiel Laufwerk 'H'. Ersetzen Sie im Folgenden bitte
das 'H' durch Ihre Wahl - es sei denn, Sie haben tatsächlich nach H:\
entpackt. Schließlich müßte nun der Ordner H:\Win2000CD bestehen.
Legen Sie Ihre Windows 2000 CD ein und kopieren Sie den vollständigen CD-Inhalt in den Ordner H:\Win2000CD. Beachten Sie, daß im Windows Explorer eventuell nicht alle Dateien dargestellt werden. Klicken Sie dort auf -> Extras -> Ordneroptionen -> Ansicht und markieren Sie die Option "Alle Dateien und Ordner anzeigen". Bestätigen Sie dies mit [Übernehmen] und klicken auf [OK].
Downloaden Sie - falls nötig - das Service Pack 4 und speichern es nicht in oder unterhalb von H:\Win2000CD, sondern unter H:\, also im Hauptverzeichnis des Laufwerks.
Um Windows 2000 auf den Stand 'inkl. Service Pack 4' zu bringen, muß nun
das SP4 in die bisher vorhandenen Datenbestände unter H:\Win2000CD
integriert werden. Dieser Vorgang ist sehr einfach und geht wie folgt:
-> Start -> Ausführen -> H:\W2KSP4_DE.exe -s:H:\Win2000CD -> Ok.
Damit rufen Sie die SP4-Datei auf. Mit dem Parameter '-s:' wird veranlaßt,
daß die Datei entpackt und in die Datenbestände unter H:\Win2000CD
integriert wird. Fertig!
Sollte die Integration auf direktem Wege nicht funktionieren, so legen
Sie auf Laufwerk H den Ordner SP4 an. Geben Sie dann unter -> Start ->
Ausführen ... "H:\W2KSP4_DE.exe -x" ein und entpacken Sie das SP4
nach H:\SP4. Nun noch dieser Befehl:
-> Start -> Ausführen H:\SP4\i386\update\update.exe -s:H:\Win2000CD
-> Ok.
Sollten nun immer noch Fehler auftauchen, prüfen Sie Ihre Vorgehensweise
bitte anhand dieser
Anleitung.
Nun fehlen noch sämtliche Updates bzw. deren Download als ausführbare Update-Datei. Sofern Sie bereits Update-Dateien vorliegen haben, kopieren Sie diese jetzt bitte in die vorgegebene $OEM$-Ordnerstruktur. Die Installations-Skripte Erweit01.cmd, Erweit02.cmd und Updaten.cmd setzen voraus, daß die Update-Dateien in einem bestimmten Ordner liegen und mit den Originalnamen von Microsoft benannt sind.
Genereller Hinweis zu den Patches: Es gibt Erweiterungen, die Sie auf dem ursprünglichen Stand von Windows 2000 belassen können oder vielleicht sogar belassen müssen - aus welchen Gründen auch immer. Dies sind IE/OE, Windows Media Player, DirectX, MDAC und Windows Skript. Für einen älteren Stand dieser Erweiterungen sind - sofern vorhanden - andere Patches erforderlich. Falls Sie die dafür notwendigen Patches alle kennen, können Sie diese natürlich (manuell) downloaden und in den Ordner Patches speichern. Bitte beachten Sie, daß solche Patches auf dieser Webseite nicht behandelt werden. Bedenken Sie außerdem, daß nun Änderungen in den Installations-Skripten nötig sind.
Die Downloads können manuell oder automatisch erfolgen.
A --- Manueller Download
Im Ordner jeder Erweiterung liegen Links zum Download-Center von Microsoft. Benutzen Sie für die Patches bitte die Updateseite. Nicht gewünschte Erweiterungen (und deren Patches) können Sie in der UMFANG.TXT ausschließen. Eine Anpassung der Installations-Skripte ist dann nicht erforderlich.
Downloaden Sie nun zuerst die ie6setup.exe und dann die Update-Dateien für den IE/OE 6 SP1. Benutzen Sie diese Anleitung. Kopieren Sie alle Dateien in den Ordner ..\Win2000CD\$OEM$\$1\Updates\010_IEOE6SP1.
Downloaden Sie nun alle
übrigen Erweiterungen (in jedem Ordner liegt ein Link, der Sie zur
richtigen Downloadseite bei Microsoft führt) und kopieren Sie die Dateien
in den richtigen Ordner, also in
..\Win2000CD\$OEM$\$1\Updates\020_Stammzertifikat ... bis ...
..\Win2000CD\$OEM$\$1\Updates\140_RM.
Downloaden Sie nun die Patches und kopieren Sie alle in den Ordner ..\Win2000CD\$OEM$\$1\Updates\Patches.
Downloaden Sie abschließend die nachstehenden
Tools, die alle nach ..\Win2000CD\$OEM$\$$\system32 zu entpacken
sind:
- PsShutdown.exe: Direkt-Download
PsTools.zip (enthält psshutdown.exe)
- SC.exe als ZIP-Datei: Direkt-Download
SC.zip
- svc2kxp.cmd als ZIP-Datei: Download
svc2kxp.zip
Das ZIP-Archiv von svc2kxp enthält auch eine Datei 'history.txt', in der
die Änderungen von Version zu Version dokumentiert sind.
Detail-Informationen finden Sie im Kapitel Zur
Konfiguration der Windows-Dienste sowie in dieser Status-Übersicht.
B --- Automatischer Download - siehe auch Kapitel 1
Die Ausführung ist sehr einfach. Sie müssen lediglich folgende Dinge
erledigen:
1.) Downloaden Sie das
Dienstprogramm 'WGET' und entpacken es in den Ordner
..\Win2000CD\$OEM$\Tools\WGET\1_10_2.
2.) Sie müssen die Datei ..\Win2000CD\dlstart.cmd bearbeiten -
Details siehe hier.
3.) Bearbeiten Sie - falls gewünscht - die Datei UMFANG.TXT,
um den Downloadumfang zu bestimmen.
Nach diesen Arbeiten können Sie sofort beginnen. Der Download wird immer durch den Aufruf von dlstart.cmd gestartet. Der Download kann unterbrochen werden. Abgebrochene Downloads werden durch einen erneuten Aufruf von dlstart.cmd (fast immer) ohne Datenverlust fortgesetzt. Dies erledigt das Dienstprogramm 'wget'. Bitte beachten Sie auch, daß einige Updates manuell geladen werden müssen. Diese haben auf der Updateseite ein farblich unterlegtes Datum.
Besonderer Hinweis zu den Update-Dateien für IE/OE 6 SP 1: Diese werden nicht als normale Updatedatei geladen. Vielmehr geschieht der Download durch einen speziellen Aufruf von ie6setup.exe, wodurch sich ein Windows-Dialog öffnet. Es kann passieren, daß (Cache-) Fehler beim Download auftreten. Bestätigen Sie entsprechende Meldungen und fahren mit dem Gesamtdownload fort. Rufen Sie danach dlstart.cmd erneut auf. Sollte nach dem 2./3. Durchlauf immer noch Fehler auftauchen, laden Sie die Update-Dateien manuell gemäß dieser Anleitung und kopieren die Update-Dateien in den Ordner ..\Win2000CD\$OEM$\$1\Updates\010_IEOE6SP1.
Die Tools psshutdown.exe, SC.exe und svc2kxp.cmd werden jeweils als ZIP-Archiv geladen. Beim automatischen Download werden sie mittels 'Unzip' auch automatisch in den Ordner ..\Win2000CD\$OEM$\$$\system32 entpackt. Insbesondere nach dem manuellen Download sollten Sie kurz kontrollieren, ob die Dateien in entpackter Form im angegebenen Ordner vorliegen.
Unter den Patches zu Windows 2000
befindet sich auch KB 883114. Dieser Patch beseitigt ein Problem, das beim
Installieren von einem USB-CD-ROM entstehen kann. Diesen Patch wie
gewöhnlich zu installieren macht daher keinen Sinn. Falls für Sie
erforderlich, muß er analog zum Slipstreaming des SP4 in die CD integriert
werden - siehe auch auf der Updateseite.
Hierzu ist über -> Start -> Ausführen folgender Befehl einzugeben
und zu bestätigen:
H:\win2000CD\$OEM$\$1\Updates\Patches\Windows2000-KB883114-x86-DEU.EXE /integrate:H:\win2000cd
Optional:
AutoRegKeys.reg: Kontrollieren Sie bitte, ob sie in der
AutoRegKeys.reg noch Änderungen vornehmen möchten. Dort könnte
insbesondere "RestrictAnonymous" relevant sein.
Ohne Disketten-Laufwerk installieren: Neuere
PCs besitzen häufig kein Disketten-Laufwerk mehr. Daher können eine
WinNT.sif und Umfang.txt nicht auf einer Diskette abgelegt werden.
Abhilfe zu WinNT.sif: Kopieren Sie ihre WinNT.sif vor dem Brennen der
neuen Boot-CD in das Verzeichnis \i386. Die Datei wird dann beim Setup
erkannt. Diese Vorgehensweise hat allerdings 2 Nachteile.
Erstens ist die Datei vor einer Neuinstallation nicht mehr auf
einfache Weise veränderbar. Nutzen Sie daher nur eine möglichst allgemein
gehaltene Vorlage, wie sie z.B. in den zu diesem Projekt angebotenen
Downloads enthalten ist.
Zweitens stehen bei einer Boot-CD inkl. WinNT.sif die
Reparaturoptionen beim Booten von CD nicht zur Verfügung. Eine
solche CD ist ausschließlich zur Neuinstallation geeignet. Daher müssen
Sie eine 2. Boot-CD brennen, auf der keine WinNT.sif enthalten ist,
um auch die Reparaturoptionen beim Booten von CD verfügbar zu haben.
ACHTUNG: Speichern Sie eine WinNT.sif NIE inkl. Ihres
25-stelligen CD-Keys auf der CD! Es könnte ja sein, daß die CD (ggf. als
Kopie) auf 'befreundeten PCs' eingesetzt wird. Außerdem:
Wenn Sie bei einer Installation den CD-Key in die WinNT.sif eintragen, so
liegt dieser hinterher im Klartext (!) auf der Festplatte. Suchen Sie auf
dem Systemlaufwerk die Datei ..\WINNT\SYSTEM32\$WINNT$.inf. Dort steht unter
ProductID der CD-Key. Entfernen Sie ggf. diesen Eintrag. Sie sollten aber
nicht die Datei $WINNT$.inf oder andere Einträge löschen. Der CD-Key steht
dort nicht, wenn er während des Setups eingeben wird.
Abhilfe zu Umfang.txt: Sie haben 2 Möglichkeiten, das Fehlen einer
Umfang.txt auf Diskette zu kompensieren.
Erstens: Lassen Sie die Updates nicht vollautomatisch installieren.
Hierzu ist es erforderlich, daß in der WinNT.sif das Installations-Skript
Erweit01.cmd NICHT aufgerufen wird. Ändern Sie dann nach der
Windows-Installation aber vor der Update-Installation kurz die Datei
%systemdrive%\Updates\Umfang.txt und fahren Sie erst dann mit der
Updateinstallation fort. Diese Variante wird empfohlen.
Zweitens: Bearbeiten Sie die ..\$OEM$\$1\Updates\Umfang.txt gemäß
Ihren Wünschen und brennen Sie diese Datei mit auf CD. Damit wäre eine
vollautomatische Installation über den Aufruf der Erweit01.cmd in der
WinNT.sif möglich.
In ..\Win2000CD\$OEM$ liegen 3 Dateien cdrom*.*. Kontrollieren Sie bitte, ob diese auch in ..\Win2000CD vorhanden sind. Wenn nicht, kopieren Sie fehlende Dateien bitte dort hin.
Nun ist die neue bootfähige CD
zu brennen. Bitte nutzen Sie falls nötig die Hilfe Ihres Brennprogramms.
Unabhängig vom Programm sollten eigentlich stets diese Angaben zu machen
sein:
- Projekttyp: 'Bootfähige CD'
- Bootimage: Wählen Sie hier die Datei '2kbootim.age' aus dem Ordner
..\Win2000CD
- Emulation: Keine Emulation
- Anzahl zu ladender Sektoren: 4 (Achtung, die '4' wird häufig vergessen)
- Wählen Sie nun im Ordner ..\Win2000CD alle Dateien und Unter-Ordner aus
und fügen Sie diese dem Projekt zu
- CD-Name: Kann frei gewählt werden, z.B. W2kSP4_050209 (= .._JJMMTT)
- Ggf. müssen Sie noch "CD fertigstellen" wählen, damit die CD
am Ende des Brennvorgangs abgeschlossen wird.
Nach dem Brennen der CD sollten Sie im Besitz einer bootfähigen Windows 2000 CD inkl. SP4 und allen Updates sein. Ob die CD tatsächlich bootet, sollten Sie später testen. Legen Sie dazu die CD ein und starten Ihren PC neu. Das Setupprogramm sollte nun starten. Ein blauer Bildschirm erscheint. Drücken Sie dann <F3>, um die Installation abzubrechen (zur Info: Bebilderter Installationsverlauf). Sollte Ihr PC nicht von CD booten ist es eventuell erforderlich, daß im BIOS "Booten von CD" (oder eine ähnliche Bezeichnung) auf Position 1 in der Bootreihenfolge zu ändern. Ins BIOS gelangt man bei vielen PCs durch drücken von <Entf> oder <F1> oder einer sonstigen Taste, wenn dies beim Startvorgang im unteren Bereich des Bildschirms angezeigt wird - z.B. als "Press <Del> to enter Setup".
Kopieren Sie nun die Datei WinNT.sif aus ..\Win2000CD\$OEM$\$1\Updates auf
eine Diskette. Tätigen Sie in A:\WinNT.sif nun alle notwendigen Angaben, wie es
hier
beschrieben wird. Wenn Sie keine Angaben machen (wollen), dann werden Sie
während der Installation von Windows 2000 danach gefragt. Wichtig wäre jedoch,
daß Sie überhaupt die Diskette mit der vorgefertigten WinNT.sif nutzen, damit
die Update-Dateien sowie die Hilfsanwendungen auf die Festplatte kopiert werden.
Hinweis: Falls Sie auf der CD im Ordner ..\i386 eine WinNT.sif liegen
haben und außerdem eine WinNT.sif auf Diskette im Laufwerk A:\, dann hat A:\WinNT.sif
Vorrang.
Alternative: OHNE WinNT.sif installieren
Bei der Installation ohne WinNT.sif werden die Update-Dateien sowie die Hilfsanwendungen nicht auf die Festplatte kopiert. Dies müssen Sie dann manuell machen. Kopieren Sie nach der Windowsinstallation den CD-Ordner 'Updates' auf das %systemdrive% (= das Laufwerk mit dem Windows-Ordner, i.d.R. C:\), so daß C:\Updates entsteht. Außerdem müssen Sie VOR Installationsbeginn die Tools psshutdown.exe, SC.exe und svc2kxp.cmd nach %windir%\system32 kopieren. Der Beginn der Updateinstallation geschieht dann durch den manuellen Aufruf von C:\Updates\Erweit01.cmd.
Damit sind praktisch alle Arbeiten erledigt. Nachfolgend noch einige Hinweise.
Abweichung von einer vollständigen Installation - Anpassung der (Skript-)
Dateien bzw. der Umfang.txt sowie WinNT.sif
Ich würde grundsätzlich empfehlen, alle Erweiterungen und Patches
downzuloaden und mit auf die CD zu brennen, damit diese vollständig ist.
Eventuell fallen zusätzliche Patches an, z.B. wenn Sie bestimmte Erweiterungen
auf ihrem ursprünglichen Stand
belassen wollen.
Nur in diesem Fall ist es notwendig, die Installations-Skripte anzupassen.
Installationsparameter für andere bzw. neue Patches ermitteln Sie über ...
-> Start -> Ausführen -> Updatedateiname.exe /? -> Ok.
Mittels der Datei Umfang.txt können Sie sehr einfach und flexibel definieren, was auf Ihren System installiert werden soll. Haben Sie ein Diskettenlaufwerk, dann steigt die Flexibilität, denn eine A:\Umfang.txt hat bei der Auswertung zur Laufzeit der Installations-Skripte Vorrang.
In der WinNT.sif können Sie den Aufruf der Erweit01.cmd erlauben oder
unterbinden. Standardmäßig ist der Aufruf der Erweit01.cmd innerhalb der
WinNT.sif deaktiviert.
Nachdem Sie nun Windows vollständig installiert haben und den Aufruf von
Erweit01.cmd unterbunden haben, passen Sie einfach Umfang.txt Ihren Wünschen
an. Diese Arbeit sollte in wenigen Minuten erledigt sein. Starten Sie danach die
Erweit01.cmd manuell.
Den Ordner ..\Win2000CD nicht löschen
Der Ordner ..\Win2000CD enthält alle Inhalte Ihrer neuen Windows 2000 CD.
Löschen Sie den Ordner bitte nicht! Alle Updates die nach dem
Erstelldatum der CD neu erscheinen, können Sie so mit wenig Aufwand in die
vorhandene Struktur kopieren bzw. werden durch das Projekt 'Automatische
Downloads' gleich dort hin kopiert. Auch werden die Installations-Skripte
regelmäßig aktualisiert, so daß stets alle Updates gemäß Ihren Vorgaben in
der Umfang.txt auch installiert werden.
Lediglich die Updates aus dlu_temp.cmd sind nicht in den Installations-Skripten
enthalten. Sie können diese dort nachtragen oder einfach nach erfolgter
Updateinstallation manuell installieren.
Sollte nun wieder eine Neuinstallation von Windows 2000 anstehen, so brauchen
Sie nur noch den kompletten Inhalt von ..\Win2000CD wie oben beschrieben als
neue Win2000 Boot-CD zu brennen. So sind Sie mit vergleichsweise wenig Aufwand
auf dem neuesten Stand.
Beim Download-Volumen aller Updates ist DSL praktisch ein 'Muß'. Volumen per Stand ...
Für Modem-Benutzer: Sämtliche Downloads können auch auf einem anderen PC erfolgen. Sie müssen dann lediglich auf CD gebrannt werden (können), um sie auf Ihren PC zu übertragen.
Die o.g. Punkte 1. bis 10. erfordern ca. 2 Stunden Zeit - inkl. 1 Stunde für 'Automatische Downloads' und den wenigen manuellen Downloads mit DSL-1000, ggf. ZIP-Archive entpacken, ggf. AutoRegKeys.reg anpassen (z.B. 'RestrictAnonymous'), ggf. Umfang.txt anpassen, neue Boot-CD erstellen sowie dem Ergänzen der fehlenden Angaben in WinNT.sif.
Natürlich kommt die Zeit für die Lektüre dieser Webseite hinzu. Wer sich nur an diesem Kapitel 4 orientiert, der erledigt das fast nebenbei. Wer sich in Kapitel 1 - 3 umfangreich einlesen möchte, benötigt entsprechend länger. Ich hoffe, daß die Angaben ausreichend strukturiert und detailliert sind, um auch dem ungeübten Anwender eine gute Hilfestellung zu sein.
Abschließend eine Zeittafel mit ungefähren Angaben zum Ablauf einer vollautomatischen (unbeaufsichtigten) Installation, wenn die WinNT.sif sowie die Skripte zur Installation aller Updates genutzt wurden. Die Zeitangaben gelten für einen langsamen
.NET-Framework 2.0 ist erst nach 04/2005 erschienen. Dieses Paket benötigte (inkl. seiner Patches) auf PC 1 etwa 25 min. zur Installation! Um eine Vergleichbarkeit zu gewährleisten, wurde es in die Zeittafel bei PC 1 nachträglich eingearbeitet.
Anzahl und ungefährer Zeitpunkt von Unterbrechungen bei der Installation ...
| PC 1 bei ca. ... |
PC 2 bei ca. ... |
Der PC wird gestartet und das Booten erfolgt von CD inkl. Service Pack 4. Sollte die Meldung "Drücken Sie eine beliebige Taste, um von CD zu starten" erscheinen, drücken Sie bitte eine Taste. Sollte diese Meldung bei den späteren Neustarts erscheinen, ignorieren Sie dies bitte und drücken keine Taste. |
| 5 min 1) |
5 min 1) |
1. Unterbrechung: Das Laufwerk, auf dem Windows
installiert werden soll, muß ausgewählt werden. Eventuell müssen Sie es
- ggf. nach Änderungen in der vorhandenen Laufwerksaufteilung - neu
anlegen. Bei einer Neuanlage können Sie es auch formatieren und die
Größe bestimmen.
Während dieser Phase findet ein Neustart statt. |
| 35 min 2) |
25 min 2) |
2. Unterbrechung: Im Dialogfeld "Assistent für
die Netzwerkanmeldung" wird die Eingabe des Paßwortes für den
Benutzer verlangt, der während der Installation angelegt wurde - siehe
auch [GuiUnattended] ->
AutoLogonAccountCreation=Yes. Zu diesem Zeitpunkt ist Windows praktisch
schon fertig installiert. Es fehlen jedoch noch die Updates. Die
Installation der Updates startet nach dem Paßwort-Dialog. Sofern
hier oder später das Fenster "Erste Schritte bei Windows 2000"
erscheint, schließen Sie dieses Fenster einfach und entfernen vorher ggf.
unten links den Haken bzgl. 'Anzeige beim Start'.
Während dieser Phase finden mehrere Neustarts statt. |
| 95 min 3) |
55 min 3) |
3. Unterbrechung - optional: Diese
Unterbrechung findet nur statt, wenn Sie das Skript zur
Konfiguration der Windows-Dienste (svc2kxp.cmd) nicht mit einem
Parameter starten. Standardmäßig wird das Skript mit dem Parameter /ALL
aufgerufen.
Am Ende dieser Phase findet der letzte Neustart statt. |
| 100 min | 60 min | Dies ist nach dem letzten Neustart. Windows ist nun fertig installiert. Falls die Windows-Dienste konfiguriert wurden ist das System nun in einem sicheren Zustand und kann online gehen. |
1) = am Anfang von WinNT.sif
2) = am Ende von WinNT.sif
3) = am Ende von Patches.cmd
Die Anzahl der Unterbrechungen gilt dann, wenn Sie alle notwendigen Angaben in der WinNT.sif getätigt haben. Fehlen dort Angaben, so pausiert das Setup und Sie können diese Eingaben während der Installation nachholen.
| Seitenanfang | Downloads | Installation | Steuerung | step by step | Updaten | Protokolle | Änderungen |
5. Zur Updaten.cmd - Kontrolle & Aktualisierung einer bestehenden Installation
Neben 'Download' und 'Neu-Installation' gibt es noch die Option 'Updaten einer bestehenden Windows-Installation'. Realisiert wird sie durch das Skript 'updaten.cmd', welches nachfolgend in Ausschnitten dokumentiert wird, um die Funktionsweise zu erläutern. Dieses Skript kann als 'Einzelanwendung' direkt (an einem beliebigen Ort) gestartet werden oder über die Menüauswahl '[W] WINDOWS - ...' nach dem Aufruf von dlstart.cmd (ruft updaten.cmd in ..\$OEM$\$1\Updates auf).
Nach 'Hinweise:' folgt ein Menü mit [K] KONTROLLIEREN und [A] AKTUALISIEREN. '[A] Aktualisieren' ist nur dann verfügbar, wenn in dlstart.cmd '[W] WINDOWS ...' gewählt wurde und somit Laufwerk 5: existiert. Im Rahmen einer Neu-Installation wird das Menü komplett übersprungen.
REM Existiert %systemdrive%\$_INST\I_%ZEIT% liegt eine
NEU-Installation vor.
REM Überspringe dann das Menü.
IF EXIST %systemdrive%\$_INST\I_%ZEIT% GOTO :INSTup
ECHO.
ECHO. Hinweise:
ECHO. Bei KONTROLLE wird nach ca. 15 - 20 Sekunden eine Protokolldatei
angezeigt.
ECHO. Bei AKTUALISIEREN braucht dies je nach Installationsumfang mehr Zeit.
ECHO.
ECHO. Installationen werden am Bildschirm angezeigt.
ECHO. Bereits vorhandene Installationen werden NUR in der Protokolldatei
genannt.
:WAHL
TITLE - AUSWAHL - Kontrolle oder Update-Installation zu Windows 2000 SP4
ECHO.
ECHO.
ECHO Auswahl:
ECHO --------
ECHO. [K] KONTROLLIEREN - KONTROLLIERE den Status aller Installationen
ECHO.
IF EXIST 5: (
ECHO. [A] AKTUALISIEREN - AKTUALISIERE Windows + installierte Erweiterungen
) ELSE (
ECHO. [A] AKTUALISIEREN - NICHT verfuegbar
)
ECHO.
ECHO.
ECHO. [Q] Quit/Ende
ECHO.
:Auswahl
SET /p Eingabe= Ihre Auswahl bitte:
IF /i '%Eingabe%'=='k' GOTO :KONTROLLIEREN
IF /i '%Eingabe%'=='a' GOTO :AKTUALISIEREN
IF /i '%Eingabe%'=='q' GOTO :QUIT
GOTO :Auswahl
:QUIT
EXIT
:AKTUALISIEREN
IF NOT EXIST 5: (
ECHO.
ECHO. AKTUALISIEREN ist NUR nach dem
Aufruf von dlstart.cmd erreichbar.
ECHO. Starte nun lediglich eine
KONTROLLE ...
%windir%\system32\PING.EXE -n 7
127.0.0.1 >NUL
GOTO :KONTROLLIEREN
)
:INSTup
REM Erstelle zu Prüfzwecken ...
IF NOT EXIST %systemdrive%\$_INST\UPDATE MKDIR %systemdrive%\$_INST\UPDATE
:KONTROLLIEREN
...
Bei [K] KONTROLLIEREN - KONTROLLIERE den Status aller Installationen wird ausschließlich geprüft, was auf einem System installiert ist. Dazu werden Registry-Werte ausgelesen und in Dateien zwischengespeichert. Darin wird nach Werten gesucht, anhand derer man eine Installation nachweisen kann. Wie schon an anderer Stelle werden auch hier CALL-Schleifen als (Unter-) Routinen genutzt, um wiederkehrende Arbeiten zu erledigen.
Die Dateien mit den ausgelesenen REG-Werten befinden sich im Ordner %userprofile%\nt_adui. Dort werden auch die Protokolle gespeichert. Nach der Anzeige des aktuellen Protokolls UPLOG.TXT wird dieses als Datei '%Datum%_%Zeit%_Ux.LOG' in diesen Ordner kopiert, wobei x ein A für 'Aktualisieren' oder ein K für 'Kontrollieren' sein kann - siehe auch Kapitel 6.
Erläuterungen zum nachfolgenden Ausschnitt aus 'updaten.cmd': Bei SUN Java wird zunächst geprüft, ob es installiert ist. Wenn nicht, wird zum WMP gewechselt. Falls doch, wird noch die aktuelle Version von SUN Java ausgelesen. Bei der Programm-Prüfung vom WMP 9 geschieht das Gleiche wie bei SUN Java - nur ohne Bestimmung der Version, da diese eindeutig ist. Vorausgesetzt, daß der WMP9 installiert ist, werden daraufhin auch dessen Patches geprüft. Danach kommt die nächste Erweiterung - hier DirectX 9c. Hinweis: Obige Beschreibung wurde vor meiner Deaktivierung von SUN Java am 22.09.2006 geschrieben und bewußt so beibehalten.
:SUNJAVA
REM
"Bezeichnung"
"Suche"
in Datei Sprungmarke
CALL:PROGRAM "SUN java" "Java
Runtime Environment" JSUN.TXT :WMP
REM :VERSION "1.5.0.08"
"1_5_0_08-windows"
JSUN.TXT
ECHO Seit dem 22.09.2006 findet KEINE Versionskontrolle von Sun-Java mehr statt!
>>%ULOG%
ECHO Kontrollieren Sie die Version bitte manuell auf Aktualitaet. >>%ULOG%
- s.a. ERWEIT01.CMD
:WMP
REM
"Bezeichnung" "Suche" in Datei Sprungmarke
CALL:PROGRAM "WMP 9"
"9,0" MP90.TXT :DIRECTX
ECHO Patches: >>%ULOG%
ECHO -------- >>%ULOG%
REM ---
REM Suche in
TXT REG "Patchtext"
Update-Datei
Parameter
CALL:PATCH wm817885 MSup %MSup% "KB 817885"
windowsmedia9-kb817885-x86-enu.exe /Q:A /R:N
CALL:PATCH wm822620 MSup %MSup% "KB 822620"
WindowsMedia9-KB822620-x86-DEU.exe /Q:A /R:N
CALL:PATCH 891122 MSui %MSui% "KB
891122" WindowsMedia9-KB891122-x86-Global-ENU.exe ...
CALL:PATCH 892313 MSui %MSui% "KB
892313" windowsmedia9-kb892313-x86-intl.exe /quiet ...
:DIRECTX
...
Bei [A] AKTUALISIEREN - AKTUALISIERE Windows +
installierte Erweiterungen findet praktisch das Gleiche wie bei der
Kontrolle statt.
Zunächst wird das Update geprüft. Ergebnis:
'ist installiert' oder
'ist NICHT installiert'. Bei 'Kontrolle' ist der Ordner %systmdrive%\$_INST\UPDATE
nicht vorhanden und die CALL-Routine beendet. Bei 'Aktualisieren' greift
zusätzlich die Installation - aber nur, wenn das Update noch nicht
installiert ist und die Update-Datei auch vorliegt. Danach wird aus der
Registry ausgelesen, ob das Update installiert wurde. Im Erfolgsfall kommt
'wurde NEU installiert', andernfalls 'ist
NICHT installiert worden'. Alle Aktionen werden am Schluß in einer
Protokolldatei angezeigt - siehe auch Kapitel
6.
Bei den Updates für Windows 2000 selbst gibt es ab dem 21.10.2008 drei Rubriken, die in der Protokolldatei entsprechend gruppiert werden:
:PATCH
REM Püft einen Patch
FIND /i "%1" "%userprofile%\nt_adui\%2.TXT" >NUL 2>NUL
IF NOT ERRORLEVEL 1 (
ECHO %4 ist installiert >>%ULOG%
GOTO :EOF
) ELSE (
ECHO %4 ist NICHT installiert
>>%ULOG%
)
IF NOT EXIST %systemdrive%\$_INST\UPDATE GOTO :EOF
[...]
IF EXIST %PfadUpdates%\Patches\%5 (
ECHO %4 wird installiert ...
START /WAIT %PfadUpdates%\Patches\%5
%6 %7 %8 %9 >NUL 2>NUL
) ELSE (
ECHO %4 ist NICHT installiert worden,
da %5 fehlt! >>%ULOG%
GOTO :EOF
)
%WINDIR%\REGEDIT.EXE /E %systemdrive%\$_INST\UPDATE\%1.TXT %3
FIND /i "%1" %systemdrive%\$_INST\UPDATE\%1.TXT >NUL 2>NUL
IF NOT ERRORLEVEL 1 (
ECHO %4 wurde NEU installiert
ECHO %4 wurde NEU installiert
>>%ULOG%
) ELSE (
ECHO %4 ist NICHT installiert worden
ECHO %4 ist NICHT installiert worden
>>%ULOG%
)
ECHO.
ECHO. >>%ULOG%
GOTO :EOF
UPDATEN.CMD installiert keine (!) Erweiterungen,
sondern aufgrund der Analyse nur Updates für Windows 2000 SP 4 + bereits
vorhandene Erweiterungen. Umfang.txt wird dabei nicht ausgewertet, denn
diese Datei gilt nur für den Download sowie eine Neu-Installation.
Erweiterungen müssen (nachträglich) immer manuell installiert werden. Ob das
notwendig ist können Sie natürlich mit dem Skript kontrollieren, denn es
stellt ja den Status der Windows-Installation inkl. installierter Erweiterungen
fest.
Ausnahme: Wegen der Verfügbarkeit des RM Client SP1 in Deutsch und
Englisch wurde im Skript updaten.cmd eine Korrekturinstallation für den
RM-Client von Englisch auf Deutsch eingearbeitet. Voraussetzung ist, daß die
englische Version installiert ist und die deutschsprachige Updatedatei vorliegt.
Der Vorgang findet statt, wenn die Option 'Aktualisieren' gewählt wird.
Hinweis zur Ermittlung der XML-Version 3.0: Hier wird innerhalb von Updaten.cmd die Datei-Version von msxml3.dll geprüft. Anhand der Versionsnummer wird dann bestimmt, ob MS XML 3.0 aktuell ist oder nicht.
Zur exakten Versionsbestimmung von Patches - TESTBETRIEB
Microsoft hat insbesondere im 3. Quartal '06 zu diversen Patches Folgeversionen veröffentlicht. Die Bestimmung der installierten Patchversion ist oft nicht möglich - nicht mal über Windows-Update. Auf WU werden die meisten der Folgeversionen gar nicht angezeigt, wenn eine Vorgängerversion installiert war. Das ist natürlich unbefriedigend.
Als ansatzweise Lösung finden Sie ab dem 06.10.2006 im Skript UPDATEN.CMD die Sprungmarke ':PATCHV', um die installierte Version eines Patches (näherungsweise) zu bestimmen. Die Passage lautet:
:PATCHV
REM Prüft die Patch-Version - soweit möglich
SET V_FILE="%5\%3"
FOR /f "tokens=*" %%a in (
'cscript.exe //Nologo %XUP_VER% %V_FILE%') DO SET V_filever=%%a
IF %V_filever% LSS %4 (
ECHO %1 ist VERMUTLICH NICHT in aktueller Version "%2" installiert,
denn >>%ULOG%
ECHO. die
Dateiversion von "%3" ist niedriger als %4. >>%ULOG%
ECHO.
Kontrollieren/Installieren Sie "V%2" von %1 bitte manuell. >>%ULOG%
ECHO. --
EVENTUELL wird das Update auch auf Windows-Update angeboten. -- >>%ULOG%
)
GOTO :EOF
Neuere Update-Versionen der selben Patch-/KB-Nummer beinhalten meistens mindestens eine aktualisierte Datei, wo auch die Dateiversion höher ist als beim Vorgänger. Die Dateiversion einer solchen Datei wird mit o.g. Skriptpassage geprüft. Sollte die tatsächlich installierte Version niedriger ausfallen als erwartet, so wird in der abschließenden Protokolldatei (s.a. Kapitel 6) ein entsprechender Hinweis gegeben. Bei einer positiven Versionsprüfung kommt nur der gewohnte Hinweis "KB xxxxxx ist installiert". Ein Beispiel dazu:
"KB 911280" ist installiert
"KB 911280" ist VERMUTLICH NICHT in aktueller Version "2"
installiert, denn
die
Dateiversion von "rasmans.dll" ist niedriger als 5.0.2195.7093.
Kontrollieren/Installieren Sie "V2" von "KB 911280" bitte
manuell.
-- EVENTUELL
wird das Update auch auf Windows-Update angeboten. --
Hinweise
Zum Zeitpunkt der Erstellung dieser Textpassagen (06.10.06) werden folgende Updates geprüft:
"Update Rollup 1" 2 mountmgr.sys
5.0.2195.7063 %windir%\system32\dllcache
"KB 911280" 2
rasmans.dll 5.0.2195.7093 %windir%\system32\dllcache
"KB 920958" 2
ntoskrnl.exe 5.0.2195.7111 %windir%\system32\dllcache
"KB 904368" 3
fastfat.sys 5.0.2195.7061 %windir%\system32\dllcache
"KB 918899" 3
urlmon.dll 6.0.2800.1572 %windir%\system32\dllcache
Sie sehen zunächst das Update, dann dessen Version, die zu prüfende Datei, deren Dateiversion und schließlich, in welchem Ordner die Datei zu finden ist.
Ich hoffe, daß diese Erweiterung der Funktionalität positiv aufgenommen wird und bin sehr an einem Feedback interessiert.
Ausschluß von Updates (Patches)
Von den Updates für Windows & Komponenten werden grundsätzlich alle installiert, die sich im Ordner '/Patches' befinden. Aktuell gibt es jedoch folgende Ausnahme(n):
| Update | ||
.NET-Framework wird ab Anfang 2009 nicht mehr berücksichtigt. Hintergründe stehe auf der Update-Seite. Vorhandene Dateien werden aus dem Ordner \$OEM$\$1\Updates\130_NETFramework entfernt und in den Ordner \130_NETFramework verschoben, wobei dieser neue Ordner unterhalb des Ordners angelegt wird, den Sie bei der Variable PfadISOCD angegeben haben. Diese Variable wird in der Skriptdatei DLSTART.cmd definiert.
| Seitenanfang | Downloads | Installation | Steuerung | step by step | Updaten | Protokolle | Änderungen |
6. Protokolle und Protokoll-/Prüfordner
Mit der Skriptversion ab 11.10.2005 wird ein einheitlicher Ordner eingeführt, in dem fast alle Protokolle und Prüfdateien gespeichert werden.
Der Ordner für Protokolle und Prüfdateien heißt %userprofile%\nt_adui. Er wird durch die Skripte automatisch erstellt.
Zuvor waren die Dateien in 5:\ sowie %systemdrive%\$_check zu finden. Letzteren können Sie komplett löschen. Verschieben Sie vorhandene Dateien ggf. vorher in den neuen Ordner, den Sie auch manuell anlegen können.
Alle Protokolle sind LOG-Dateien mit Namen 'Jahr-Monat-Tag_Stunde-Minute-Sekunde_*.LOG'. Für '*' kann folgender Text stehen:
In ISObuild.cmd ...
Alle Prüfdateien sind TXT-Dateien, die von 'updaten.cmd' angelegt werden. Darin sind die exportierten Registry-Schlüssel enthalten, anhand derer das Vorhandensein einer Installation geprüft wird. Es sind max. 13 verschiedene *.TXT möglich, die bei jedem Durchlauf überschrieben werden. Für '*' kann stehen: DX9c, IEOE, J_MS, JSUN, MBSA, MP90, MSic, MSui, MSup, ROOT, SCup, SP_4.
Installations-Prüfordner %systemdrive%\$_INST
Im Rahmen einer Neu-Installation wird zu Prüfzwecken der Ordner %systemdrive%\$_INST angelegt, der am Ende des Vorgangs gelöscht wird. In Patches.cmd als auch in Updaten.cmd wird \$_INST zu \$_INST\I_%ZEIT% erweitert, um diesen Prüfordner je Vorgang eindeutig zu benennen. Außerdem wird im Rahmen der Aktualisierung \$_INST\UPDATE erstellt, der ebenfalls nach dem Vorgang gelöscht wird.
| Seitenanfang | Downloads | Installation | Steuerung | step by step | Updaten | Protokolle | Änderungen |
Änderungen (auf dieser Webseite)
| 22.05.2009 | Da ich Windows 2000 durch XP abgelöst habe wird diese Seite nicht mehr gepflegt. Sie behält ihren Stand per 22.05.2009. |
| 14.01.2009 | In UMFANG.TXT wurden die beiden Einträge zu .NET auf NEIN gesetzt, da .NET ab dem 14.01.2009 nicht mehr berücksichtigt wird. Das Datum bei 000_Datum= wurde aktualisiert. |
| 14.01.2009 | Der Abschnitt Ausschluß von Updates wurde inhaltlich überarbeitet. .NET-Framework wurde hinzugefügt. |
| 21.10.2008 | Bei der Prüfung der Patches für Windows 2000 selbst gibt es nun 3 Rubriken. Die Bezeichnung "Optionale Patches" wurde in "Genuine Patches" geändert. Zusätzlich werden nun die Updates für optionale Komponenten in einer eigenen Rubrik gruppiert. Die 3 Gruppen sehen Sie dann in der Ausgabe der Protokolldatei. |
| 09.04.2008 | Das neue Sprachpaket zu .NET 2.0 SP1 aus Feb. '08 wird nun korrekt erkannt. |
| 13.12.2007 | Zu WGET wurden die Links 'Downöoad-Webseite' und 'Direktdownload' korrigiert |
| 11.12.2007 | Aus UMFANG.TXT wurde der Eintrag zu MBSA 1.2.1 entfernt, da das Programm veraltet ist. Der Eintrag zu .NET 2.0 wurde auf JA gesetzt. Der Eintrag zu UPHC wurde ergänzt. |
| 11.12.2007 | Folgende Updates waren veraltet und wurden nachträglich aus
UPDATEN.CMD entfernt:
- KB 924867 **) **) Diese Updates wurden in DLU.cmd zusätzlich auch zur Löschung markiert. |
| 12.07.2007 | Die Angabe zum Downloadvolumen wurde aktualisiert. |
| 22.03.2007 | In den Skripten ERWEIT01.CMD und ERWEIT02.CMD
wurden Prüfschritte für die Installation bei den Erweiterungen
eingebaut. Diese kontrollieren nun, ob die auszuführende Datei verfügbar
ist. Falls nicht, wird der Vorgang übersprungen. Es erscheint eine
Meldung am Bildschirm. Das steht in keiner Protokolldatei.
In DLU.cmd wurde eine weitere CALL-Schleife namens 'GENUINE' eingebaut. Diese greift bei den Downloads, wo Microsoft seine Gültigkeitsprüfung verlangt. |
| 17.12.2006 20:20 Uhr |
Im Skript ERWEIT01.CMD befand sich ein Fehler. Bei einer Neuinstallation wurde die Datei für den WindowsUpdateAgent (WUA) im Ordner \030_Installer\WUA_20061-11\ gesucht. Natürlich muß es \030_Installer\WUA_2006-11\ heißen. Ich bitte den Fehler zu entschuldigen. |
| 26.10.2006 | Abschnitt 'Zeitbedarf' überarbeitet |
| 12.10.2006 | MS XML 3.0 hat mittlerweile den Stand 'Post SP7'. Das führt im Projekt zu Änderungen bei UMFANG.txt, ERWEIT01.cmd und UPDATEN.cmd. Der Hinweis zur Versionsbestimmung wurde ebenfalls angepaßt. |
| 06.10.2006 | Im Skript UPDATEN.CMD wird nun auch (näherungsweise) überprüft, ob ein Patch in seiner letzten verfügbaren Version installiert ist. |
| 22.09.2006 | Seit dem 22.09.2006 wird SUN Java generell nicht mehr
automatisch installiert. Der Download mußte seit jeher manuell erfolgen.
Befehle zur Installation bleiben als Vorlage in den Skripten enthalten -
siehe hier. Im Skript UPDATEN.CMD wird allerdings noch
überprüft, ob SUN JAVA installiert ist - siehe hier.
Die Aktualität der Version müssen Sie dann manuell prüfen. In UMFANG.TXT
wurde beim Eintrag '042_SUNJAVA___=NEIN' der Begleittext angepaßt.
Hintergrund: In den Monaten 06 - 09/2006 brachte Sun Update 6, 7 und 8 zu Java (1.)5.0 heraus. Update 7 wurde alsbald zurückgezogen und Update 6 wieder als aktuelle Version zum Download bereitgestellt. Im September fand das gleiche Prozedere mit Update 8 statt. Mir fehlt die Zeit, solchen Dingen Rechnung zu tragen. Daher werde ich die jeweils aktuelle Version von SUN Java ab dem heutigen Tage nicht mehr berücksichtigen. |
Jürgen Terlinden - Feedback
- Erstveröffentlichung: 09.02.2005 -