Mit Hilfe von .inf-Dateien können Sie Dateien und Ordner auf unterschiedliche Weise bearbeiten. Im Folgenden werden einige wichtige Möglichkeiten genannt:
Das Erstellen eines Ordners im Ordner Programme oder das Erstellen von Links in einem Ordner wird von der Shell durchgeführt, nachdem eine Komponente installiert wurde. Setup sucht in der Datei Setup.ini nach dem Abschnitt [progman.groups] und analysiert diesen dann, um Ordner und Links in diesen Ordnern zu erstellen.
Wenn Sie eine Komponente installieren, für die ein Ordner oder Links im Ordner Programme erforderlich sind, müssen Sie einen Abschnitt namens UpdateInis erstellen, der die entsprechenden Einträge in der Datei Setup.ini erstellt. Die Datei Setup.ini verwendet die nachstehende Syntax, um Ordner und Links zu erstellen. Beachten Sie, dass Ordner relativ zum Menü Start sind.
[progman.groups]
folder_1=Folder_1_Name
folder_2=Folder_2_Name
:
folder_n=Folder_n_Name
[folder_1]
Link-Name, .exe-name, Icon-file-name, Icon-index, profile
Wenn im Feld Profil kein Wert angegeben wird, wird der Link stets zum Ordner hinzugefügt.
Anmerkungen
Beispiel: Spiele
[Optionale Komponenten]
games
[games]
OptionDesc= %GAMES_DESC%
CopyFiles= wingames.files
UpdateInis= wingames.links
[wingames.files]
cards.dll
freecell.exe
freecell.hlp
mshearts.exe
mshearts.hlp
sol.exe
sol.hlp
winmine.exe
winmine.hlp
[wingames.links]
setup.ini, progman.groups,, "gamesfolder=%GAMES_DESC%" ;creates folder
setup.ini, gamesfolder,, """Solitär-Spiel"",SOL.EXE,,," ;erstellt Link
setup.ini, gamesfolder,, "MineSweeper,WINMINE.EXE,,," ;erstellt Link
setup.ini, gamesfolder,, ""Hearts Kartenspiel"",MSHEARTS.EXE,,,";erstellt Link
setup.ini, gamesfolder,, "FreeCell,FREECELL.EXE,,," ;erstellt Link
Ergebnis: Der Eintrag für "Spiele" wird im Dialogfeld Optionale Komponenten in Setup angezeigt, und es wird auf Wunsch im Ordner Programme ein Ordner namens Spiele erstellt, der Links zu Solitär, MineSweeper, Hearts und FreeCell enthält.
Die Setup-Engine in 32-Bit-Windows-Versionen des Browsers ist eine 16-Bit-.dll-Datei für Abwärtskompatibilität. Aus diesem Grund kann die Windows Setup-Engine ausschließlich Dateien mit 8.3-Dateinamen kopieren. Um Dateien mit langen Dateinamen erstellen und löschen zu können, führt die Setup-Engine beim Beenden eine 32-Bit-Anwendung aus, die alle 8.3-Dateinamen in lange Dateinamen umbenennt und Dateien mit langen Dateinamen löscht. Die 32-Bit-Anwendung erhält die entsprechenden Anweisungen aus zuvor definierten Schlüsseln in der Registrierung.
Der Basisschlüssel der Registrierung für Umbenennungsvorgänge lautet wie folgt:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RenameFiles
Der Basisschlüssel der Registrierung für Löschvorgänge lautet wie folgt:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\DeleteFiles
Die einzelnen Gruppen mit Umbenennungs- und Löschvorgängen werden einem Teilschlüssel unter dem jeweiligen Schlüssel zugeordnet. Die Gruppen mit Vorgängen sind auf das Umbenennen oder Löschen von Dateien in einem einzelnen Ordner beschränkt. Sie müssen mindestens zwei Einträge in jeden Teilschlüssel einfügen, damit ein Umbenennungs- oder Löschvorgang in Kraft tritt: den Ordnerpfad für die umzubenennenden oder zu löschenden Dateien sowie den eigentlichen Umbenennungs- bzw. Löschvorgang.
Der erste Schlüssel in jeder Gruppe von Vorgängen ist der Ordnereintrag. Jeder Eintrag für einen Umbenennungsvorgang in dem betreffenden Ordner ist ein Eintrag mit folgendem Format: "alter_kurzer_Name"="neuer_langer_Name,[Attrib_Flag]".
Das optionale Attrib_Flag dient der Festlegung von Dateiattributen während des Umbenennungsvorgangs. Das Flag setzt sich aus folgenden Werten zusammen:
1 | READONLY |
2 | HIDDEN |
3 | SYSTEM |
Wenn Sie mehrere Attribute für eine Datei oder einen Ordner festlegen möchten, müssen Sie die Flags zusammen zuordnen; um beispielsweise die Attribute READONLY und HIDDEN festzulegen, müsste Attrib_Flag 3 sein.
Im folgenden Beispiel sehen Sie den Abschnitt AddReg, der die Attribute SYSTEM und HIDDEN für den Ordner \Windows\System\Sample festlegt:
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,,,%11%
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Sys,SAMPLE,,"SAMPLE,6"
Anmerkung
Jeder Eintrag für einen Löschvorgang in dem betreffenden Ordner ist ein Eintrag mit folgendem Format: "beliebiger_Schlüsselname"="langer_zu_löschender_Name".
Im folgenden Beispiel sehen Sie den Abschnitt AddReg, der folgende Aktionen ausführt:
[MyAppShort2Long]
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,,,C:\Samples
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Samples,oldname.txt,,"Neuer Langer Name.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,myreadme.txt,,"Meine Anw Readme.txt"
Im folgenden Beispiel sehen Sie den Abschnitt AddReg, der folgende Aktionen ausführt:
[MyAppDelLong]
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,,,C:\Samples
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Samples,oldname.txt,,"Neuer Langer Name.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,myreadme.txt,,"Meine Anw Readme.txt"
Wenn diese Umbenennungen und Löschvorgänge verarbeitet worden sind, werden die Einträge aus der Registrierung gelöscht.
Anmerkung
Beim Festlegen der Attribute für eine Datei oder einen Ordner sind dieselben Richtlinien zu beachten wie beim Erstellen von langen Dateinamen mit einem optionalen Flag.
Details hierzu finden Sie im Abschnitt zum "Erstellen und Löschen von langen Dateinamen".
Da es sich beim Kopieren von Windows-Dateien um einen 16-Bit-Vorgang handelt, können nur kurze (8.3-) Dateinamen verwendet werden. Für den Zugriff auf den Ordner Programme müssen Sie das 8.3-Äquivalent, "24,PROGRA`1",
im Abschnitt [ DestinationDirs] verwenden (LDID 24 ist die Basis des Laufwerks, das den Ordner Windows enthält). Entsprechend muss das Äquivalent zum kurzen Dateinamen verwendet werden, um auf Ordner mit langen Dateinamen zuzugreifen, die sich im Ordner Programme befinden.
Im folgenden Beispiel werden drei Dateien in den Ordner Programme\Zubehör kopiert und Links zu einer der Dateien eingerichtet:
[WordPadInstall]
CopyFiles = WordPadCopyFiles
UpdateInis = WordPadInis
[DestinationDirs]
WordPadCopyFiles = 24,%PROGRAMF%\%ACCESSOR%
[WordPadCopyFiles]
mswd6_32.wpc
wordpad.exe
write32.wpc
[WordPadInis]
setup.ini, progman.groups,, "group4=%APPS_DESC%" ;erstellt Ordner Zubehör (falls nicht bereits vorhanden)
setup.ini, group4,, """%WORDPAD_LINK%"", ""%24%\%PROGRAMF%\%ACCESSOR%\WORDPAD.EXE""" ;erstellt Link in Ordner Zubehör
[Strings]
APPS_DESC = "Zubehör"
WORDPAD_LINK = "WordPad"
; Ordnernamen - die kurzen Versionen müssen mit den verkürzten
; 8-Zeichen-Namen für die langen Versionen übereinstimmen, da es ansonsten zu Problemen kommt.
PROGRAMF = "Progra~1" ; erste 6 Zeichen von Programme, + "~1"
ACCESSOR = "Zubehö~1" ; erste 6 Zeichen von Zubehör, + "~1"