Hin und wieder kommt es vor, daß Installationsprogramme alte DLLs durch neue ersetzen müssen. Eine gerade geladene DLL kann aber nicht ersetzt werden. Also wird die neue DLL auf die Festplatte kopiert und mit einem vorläufigen Namen versehen. Das Programm kopiert außerdem eine WININIT.INI auf die Festplatte. Diese wird beim Systemstart (bevor irgendwelche DLLs geladen werden) von dem Programm WININIT.EXE bearbeitet. Die WININIT.INI enthält im Abschnitt [rename] den Quell- und Zielpfad für jede neue DLL.
Wird Windows neu gestartet, sucht es automatisch nach einer WININIT.INI. Findet es eine, arbeitet WININIT.EXE die INI ab und benennt sie um in WININIT.BAK. Da WININIT.EXE im protected Mode arbeitet, entsprechen die Dateinamen dem 8.3-Schema.
Aufbau einer WININIT.INI:
[rename]
ZielDateiName=QuellDateiName
also z.B.
[rename]
c:\windows\fonts\arial.ttf=c:\windows\fonts\arial.win
c:\windows\system\advapi32.dll=c:\windows\system\advapi32.tmp
Der Befehl
Nul=QuellDateiName
dient zum Löschen einer Datei
Die WININIT.EXE befindet sich normalerweise im Windows-Verzeichnis und sollte aus den oben angeführten Gründen keinesfalls gelöscht werden!!!