Das ADI-Projekt: Automatisiertes Downloaden & Installieren von
Updates bei Windows 2000 Professional Service Pack 4 (SP 4)


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:

  1. Der Download fast aller Updates (Erweiterungen & Patches): Auf der Updateseite stehen alle aktuellen Updates zu Windows 2000. Um diese offline installieren zu können, müssen die ausführbaren (Setup-) Dateien der Updates geladen werden. In Kapitel 1 finden Sie eine Lösung, wie Sie alle Updates automatisch laden können - auch zukünftige! Dabei werden alle Dateien in eine vorgegebene Ordnerstruktur kopiert.
  2. Die automatische (unbeaufsichtigte) Installation von Windows: Windows wird über die bootfähige CD installiert. Während der Installation müssen zahlreiche Angaben gemacht werden, die man aber auch vorab 'beantworten' kann, wodurch die Installation ganz oder teilweise automatisch (= unbeaufsichtigt) erfolgt. Dazu dient die Datei 'WinNT.sif' (siehe Kapitel 2 + 3), die sich während der Installation i.d.R. auf einer Diskette im Disketten-Laufwerk befindet - siehe hier, falls kein Disketten-Laufwerk vorhanden ist.
  3. Die automatische (unbeaufsichtigte) Installation aller Updates (Erweiterungen & Patches): Die Installation der auf der Updateseite genannten Updates kann ebenfalls automatisiert werden. Hierzu werden Skripte eingesetzt, die in Kapitel 3 beschrieben werden. Voraussetzung ist die in Punkt 1. genannte "vorgegebene Ordnerstruktur", denn in den Skripten ist hinterlegt, in welchem Ordner sich welches Update befinden muß.

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:

 
  1. Die $OEM$-Ordnerstruktur ($OEM$ wird vom Windows-Setup mit dieser Namensgebung benötigt)
  2. Mehrere Dateien "_Ordnerinhalt.txt" mit Erläuterungen
  3. In ..\Win2000CD die Datei "2kbootim.age", das Boot-Image für eine neu zu brennende, bootfähige Win2000-CD und in ..\Win2000CD\$OEM$ 3 Dateien cdrom*.*, die eventuell fürs Brennen der CD benötigt werden (siehe Kapitel 4)
  4. Im Ordner ..\Win2000CD\$OEM$\$1\Updates die Dateien AutoRegKeys.reg, Umfang.txt, WinNT.sif und die 4 Installations-Skripte (Erweit01, Erweit02, Patches, Updaten) sowie in ..\Win2000CD die 3 Download-Skripte DLSTART, DLtodo und DLU
  5. In den Ordnern ..\Win2000CD\$OEM$\$1\Updates\010_IEOE6SP1 ff. jeweils einen Link zum MS-Downloadcenter für die betreffende Erweiterung
  6. Den Ordner ..\Win2000CD\$OEM$\$1\Updates\Patches für alle Patches (Windows + alle Erweiterungen)
  7. Den Ordner ..\Win2000CD\$OEM$\$1\Updates\Skripte_NEU für die (Zwischen-) Speicherung neuer Skripte

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.

  1. DLU_MMTT.check - dient zur Prüfung, ob Sie mit den aktuellen Skripten arbeiten
  2. DLU_TEMP.cmd - beinhaltet Downloadadressen nur temporär
  3. DLU.cmd - beinhaltet alle regulären Downloadadressen der Updates
  4. DLTODO.cmd - ist das (Haupt-) Skript, welches die Steuerung der Downloads übernimmt
  5. DLSTART.cmd - ist die Datei, die immer zum Start der Downloads aufgerufen werden muß
  6. UMFANG.txt - definiert den Umfang der Downloads und den einer Neu-Installation (Definition)
  7. IE/OE6 SP 1 - ein spezieller Download
  8. ONLINE-Check & Protokollierung

 

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:

  1. Innerhalb von dlu_temp.cmd wird die Datei UMFANG.TXT nicht ausgewertet.
  2. In dlu_temp.cmd genannte Updates sind noch nicht in die Installations-Skripte eingearbeitet. Sofern solche Updates andere ersetzen, fehlen in der Datei dlu.cmd ebenfalls noch die Löschbefehle für die veralteten Updates.
  3. Fast alle Meldungen werden per >>%LOG% lediglich in die Protokolldatei ausgegeben, die zum Ende von dltodo.cmd angezeigt wird.

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:

  1. Sie müssen die Datei ..\Win2000CD\dlstart.cmd bearbeiten. Dies ist ein einmaliger Vorgang, da diese Datei bei Vorliegen neuer Skripte nicht ersetzt wird. Ersetzen Sie in der Zeile "SET PfadWinCD=H:\Win2000CD" das "H" durch den Laufwerksbuchstaben bzw. Pfad, wohin Sie das Archiv Win2000.EXE tatsächlich  entpackt haben - es sei denn, Ihr Ordner ..\Win2000CD liegt tatsächlich in H:.
  2. Um ISOBUILD.cmd nutzen zu können, müssen Sie das 'H' bei 'SET PfadISOCD=H:[\Pfad]' und auch das 'K' bei 'SET LWBRENNER=K:' durch Ihre eigenen Werte ersetzen (Angaben ohne '\' am Ende!).
    PfadISOCD - definiert den Pfad, wo das/die ISO-Image(s) gespeichert werden soll(en). Dort muß ausreichend Platz sein.
    LWBRENNER - definiert den Laufwerks-Buchstaben Ihres CD-Brenners.
  3. Downloaden Sie das Dienstprogramm 'WGET' und entpacken es in den Ordner ..\Win2000CD\$OEM$\Tools\WGET\1_10_2.
  4. Optional: Passen Sie den Downloadumfang in der Datei Umfang.txt an - siehe nachfolgende Ausführungen.

 

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:

  1. Geben Sie als Download-Pfad ..\Win2000CD\$OEM$\$1\Updates\010_IEOE6SP1 an. Sollten Sie dies versäumt haben, wird als Standardpfad "..\Windows Update Setup Dateien" vorbelegt. Das Laufwerk kann variieren. Kopieren Sie dann alle Dateien (Übersicht) in den o.g. Ordner ..\010_IEOE6SP1. Sollten im Zielordner alte Dateien liegen, überschreiben Sie diese bitte alle.
  2. Sollten Sie den Download nicht mit Windows 2000/XP durchführen, so müssen Sie aus der Liste der Betriebssysteme noch Win2000/XP auswählen und die andere(n) Windows-Version(en) abwählen. Damit werden nur die für Win2000 notwendigen knapp 12 MB geladen statt der mehr als 50 MB für alle Windows-Versionen.
  3. Im Skript DLU.cmd wird geprüft, ob alle benötigten Dateien vorliegen. Fehlt eine Datei, öffnet sich wieder der Download-Dialog und fehlende Dateien werden nachgeladen. Beachten Sie wiederum Punkt 1 und geben Sie insbesondere den Pfad an, in dem die bereits vorhandenen Dateien liegen, damit diese nicht erneut geladen werden.
  4. Es kann sein, daß beim IE-Download Fehler auftreten. Bestätigen Sie Fehler-Meldungen und beenden den IE-Dialog ordnungsgemäß, damit die übrigen Downloads fortfahren können. Rufen Sie danach dlstart.cmd erneut auf. Nach mehrfachem Fehlversuch sollten Sie die Update-Dateien manuell gemäß dieser Anleitung laden - und zwar komplett inkl. ie6setup.exe. Beachten Sie wiederum Punkt 1. Löschen Sie vorher im o.g. Ziel-Ordner ..\010_IEOE6SP1 alle Dateien.

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.

 

 

   3.2   Zur Erweit01.cmd

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.

 

 

   3.3   Zur Erweit02.cmd

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.

 

 

   3.4   Zur Patches.cmd

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.

  1. 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.

  2. 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].

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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

  8. 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. 

  9. 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.

  10. 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. 

 

Zeitbedarf

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:

  1. Normale Patches, die ohne Einschränkungen/Besonderheiten behandelt werden.
  2. "Genuine Patches": Das sind solche, für die eine Gültigkeitsprüfung nötig ist. Diese werden nicht automatisch geladen, aber installiert, sofern die Update-Datei vorhanden ist.
  3. Updates für "Optionale Komponenten": Nicht alle Komponenten von Windows 2000 werden standardmäßig installiert. Sie sind optional. Kommt ein Update für eine solche optionale Komponente, so wird dies geladen, aber nicht installiert. Die Installation muß immer manuell erfolgen, denn es findet keine Prüfung statt, ob und welche optionale Komponenten installiert sind.

: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

  1. Bitte beachten Sie, daß mit dieser Prüfung keine 100%-ige Kontrolle gewährleistet ist, denn die geprüfte Datei kann auch in einem späteren Update mit dann höherer Dateiversion enthalten sein. Soweit (mir) das möglich ist, wird dann eine andere Datei zu Prüfzwecken genommen.
  2. In der derzeitigen Form liefert das Skript folgenden (nicht kritischen) Fehler:
    Ist das Update (gemeint sind alle Versionen) gar nicht installiert, so findet die Versionsprüfung dennoch statt. Das führt zu dem Hinweis auf eine evtl. veraltete Version, was natürlich so nicht richtig ist. Ich arbeite hier an einer Lösung.
  3. Ist das Update gar nicht installiert, so wird es bei Nutzung der Option '[A]  Aktualisieren' natürlich installiert - sofern die Updatedatei vorliegt. Der bei '2.' genannte Fehler dürfte nach einer evtl. Installation nicht mehr auftreten, denn die Prüfung findet erst im nächsten Schritt statt.
  4. Ist das Update in veralteter Version installiert, so wird die aktuelle Version auch bei Nutzung der Option '[A]  Aktualisieren' nicht installiert. Das ließe sich natürlich mit dem Skript automatisieren. Aber zum gegenwärtigen Zeitpunkt habe ich mich für die konservativere Handhabung solcher Updates entschieden. Es kann also kein Schaden angerichtet werden.

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  **)
- KB 911567 (OE)
- KB 922760 (IE)
- KB 886903 (.NET 1.1)
- KB 917283 (.NET 2.0)  **)
- KB 922770 (.NET 2.0)  **)

  **)  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  -  Zugriffe