Bannergrafik
Referenz

Bearbeiten von Ordnern und Dateien mit Setup-Informationsdateien (.INF)

Mit Hilfe von .INF-Dateien können Sie Dateien und Ordner auf unterschiedliche Weise bearbeiten. Im Folgenden werden einige wichtige Möglichkeiten genannt:

Erstellen von Ordnern und Links in Ordnern

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 Startmenü sind.

[progman.groups]
Ordner_1=Name_Ordner_1
Ordner_2=Name_Ordner_2
:
Ordner_n=Name_Ordner_n

[Ordner_1]
Link-Name, .EXE-Name, Symboldateiname, Symbolindex, Profil

Wenn im Feld Profil kein Wert angegeben wird, wird der Link stets zum Ordner hinzugefügt.

Anmerkungen

Beispiel: Spiele

[Optionale Komponenten]
Spiele

[Spiele]
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"",SOL.EXE,,," ;creates link
setup.ini, gamesfolder,, "Minesweeper,WINMINE.EXE,,," ;creates link
setup.ini, gamesfolder,, ""Hearts"",MSHEARTS.EXE,,,";creates link
setup.ini, gamesfolder,, "FreeCell,FREECELL.EXE,,," ;creates 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.

Erstellen und Löschen langer Dateinamen

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 für den Ordner \Windows\System\Sample die Attribute "System" und "Versteckt" 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\Beispiel,,,C:\Beispiel
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Beispiel,altname.txt,,"Neuer langer Name.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\RenameFiles\Win,readme.txt,,"Meine Anwendung Readme.txt"

Im folgenden Beispiel sehen Sie den Abschnitt AddReg, der folgende Aktionen ausführt:

[MyAppDelLong]
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Beispiel,,,C:\Beispiel
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Beispiel,altname.txt,,"Neuer langer Name.txt"
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,,,%25%
HKLM,Software\Microsoft\Windows\CurrentVersion\DeleteFiles\Win,readme.txt,,"Meine Anwendung Readme.txt"

Wenn diese Umbenennungen und Löschvorgänge verarbeitet worden sind, werden die Einträge aus der Registrierung gelöscht.

Anmerkung

Festlegen von Attributen für Dateien und Ordner

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 "Erstellen und Löschen von langen Dateinamen".

Kopieren von Dateien in den Ordner "Programme"

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ör" ; ist kein langer Name

Einschränkungen für ".INF"-Dateien