Top-Fragen
Zeitleiste
Chat
Kontext

Initialisierungsdatei

Konfigurationsdatei in MS-DOS und Windows Aus Wikipedia, der freien Enzyklopädie

Remove ads

Eine Initialisierungsdatei bzw. kurz INI-Datei, abgeleitet von der meist im 8.3-Schema genutzten Dateinamenserweiterung .INI, ist eine Konfigurationsdatei für diverse Software, die die darin gespeicherten Einstellungen für den benutzerdefinierten Start verwendet.[1] Mit der ersten Version von Microsoft Windows, Windows 1.0,[2] wurde die Initialisierungsdatei WIN.INI dafür verwendet, die in der Systemsteuerung angepassten Benutzereinstellungen für den nächsten Windows-Start zu speichern.[3] Dieses Windows-INI-Format oder ein daran angelehntes Textformat wurde später nicht nur von Windows-Anwendungen übernommen, es wird auch von diversen Programmen betriebssystemübergreifend genutzt, u. a. um Einstellungen dauerhaft zu speichern.

Dem Windows-Standard folgend sind INI-Dateien meist einfache Textdateien, zunächst im ASCII-Zeichensatz, die Schlüssel-Wert-Paare enthalten, die ggf. durch Sektionen gegliedert werden.[4] Da jedes Programm eigene INI-Dateien definieren kann, entspricht das genaue Format jedoch möglicherweise nicht dem von Microsoft vorgegebenen Standard. Beispielsweise nutzt OS/2 binäre INI-Dateien.[5]

Bis zur Einführung der Registrierungsdatenbank mit Windows NT 3.1 war die WIN.INI die einzige Initialisierungsdatei zur Speicherung von Programm-Konfigurationen, was durch die WinAPI unterstützt wurde. In späteren Windows-NT-Versionen ist der API-Zugriff zwar noch vorhanden, wird aber als veraltet angesehen.[6]

Das INI-Format von Windows gilt als einfach aufgebautes und zugleich von Menschen leicht lesbares Dateiformat, das grundsätzlich mit jedem Texteditor bearbeitet werden kann. Allerdings sind die Bezeichnungen der Einstellungen damit keineswegs auch selbsterklärend und aussagekräftig.[7]

Remove ads

Aufbau

Zusammenfassung
Kontext

Die Initialisierungsdaten werden zeilenweise abgelegt: ein Gleichheitszeichen trennt den Schlüssel von seinem Wert.[4]

Schlüssel=Wert

Um Schlüssel in sog. Sektionen zu gruppieren, ist eine (pro Datei eindeutige) Bezeichnung in eckigen Klammern über der jeweiligen Sektion anzugeben. Benannte Sektionen sind nicht verpflichtend, je Sektion müssen die Schlüssel eindeutig sein.

[Sektion1]
Schlüssel=Wert
[Sektion2]
Schlüssel=Wert
Schlüssel2=Wert

Außerdem erlaubt das Dateiformat Kommentarzeilen, diese beginnen mit einem Semikolon.[7]

; Kommentar

Beim Erstellen einer INI-Datei sind folgende Regeln zu beachten:

  • Jede Sektion darf nur einmal vorkommen.
  • Jeder Schlüssel darf nur einmal je Sektion vorkommen.
  • Auf Werte wird mittels Sektion und Schlüssel zugegriffen.
  • Kommentare werden mit einem „;“ eingeleitet.
  • Kommentare dürfen nur auf separaten Zeilen (nicht hinter Sektionsüberschriften oder Schlüsseln) stehen.
  • Leerzeichen und Anführungszeichen werden von verschiedenen Programmen teilweise unterschiedlich behandelt.
  • Groß- und Kleinschreibung wird nicht unterschieden
  • Aussagenlogik: False und No werden als 0, True und Yes als 1 interpretiert.

Es gibt Dateien mit nahezu demselben Aufbau, die sich lediglich durch folgende Merkmale unterscheiden:

  • Fehlende oder andere Dateiendung (z. B. .conf und .cfg)
  • Einleitung von Kommentaren mit einem anderen Zeichen (z. B. „#“).

Ein Beispiel für eine solche Variation findet sich in den Konfigurationsdateien für Subversion-Repositories.

Remove ads

Alternative Formate

Speicherort

Zusammenfassung
Kontext
Thumb
Beispiel einer benutzerfreundlichen Auswahlmöglichkeit zur Festlegung des Speicherortes

In früheren Windows-Ausgaben (mit der Einführung von NTFS) existierten zwei alternative/konkurrierende Philosophien für den Standard-Dateipfad zur INI-Ablage, wobei auf der einen Seite die Benutzerfreundlichkeit und auf der anderen Seite die Sicherheit im Vordergrund stand.

Im Folgenden am Beispiel von Windows XP:

  • \Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten\<Programmname>\
    (allgemein, über eine sogenannte Umgebungsvariable: %APPDATA%\<Programmname>; englisch: \Documents and Settings\<Benutzername>\Application Data\<Programmname>\)
  • \Programme\<Programmname>\
    (allgemein: %PROGRAMFILES%\<Programmname>; englisch: \Program Files\<Programmname>\)

Ab Windows Vista wird die Veränderung des Programme-Ordners durch Benutzer mit eingeschränkten Rechten (oder Nicht-Administratoren) standardmäßig von der Benutzerkontensteuerung blockiert, wovon auch dort gespeicherte INI-Dateien betroffen sind. Manche Programme vergeben daher bei der Installation sämtliche Rechte für die installierten Dateien an den Benutzer „Jeder“. In diesen Windows-Versionen existieren ggf. zudem automatisch erzeugte Kopien der INI-Dateien im Schattenverzeichnis $USERDIR$\AppData\Local\VirtualStore\Windows\.

Anwendungen, die ihre Einstellungen in ihrem eigenen Programmordner ablegen (beispielsweise %PROGRAMFILES%\<Programmname>\ oder %UserProfile%\Desktop\<Programmname>\), bieten den Vorteil, dass sie leichter auf einen anderen Rechner übertragbar sind, haben aber den Nachteil, dass sich alle Benutzer der Anwendung auf einem Rechner diese Einstellungen teilen. Solche Anwendungen werden auch als portabel bezeichnet. Voraussetzung zum Ändern dieser Einstellungen ist, dass der Benutzer Schreibrechte auf die INI-Datei (und den Programmordner) besitzt.

Remove ads
  • GetPrivateProfileString: Microsoft Windows API-Funktion zum Auslesen von Werten aus einer INI-Datei.
  • GetPrivateProfileSection: Microsoft Windows API-Funktion zum Auslesen von allen Schlüsseln und Werten aus einer Sektion der INI-Datei.
  • GetPrivateProfileSectionNames: Microsoft Windows API-Funktion zum Auslesen von Sektionen aus einer INI-Datei.
  • simpleini – eine plattformübergreifende C++-Bibliothek, die ein einfaches API zum Lesen und Schreiben von Konfigurationsdateien im INI-Format bietet
  • mc.ext.ini – Beispiel für eine moderne INI-Datei im Windows-INI-Format: die „Extension“-Datei des Midnight Commander
Remove ads

Einzelnachweise

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads