Manifest-Datei (Windows)
# Manifest-Datei (Windows)

Manifest-Dateien sind Dateien, die von Microsoft in Windows XP eingeführt wurden. Sie enthalten optionale Metadaten zu ihrer zugehörigen EXE-Datei und liegen im XML-Format vor. Das Manifest kann als Ressource (Typ: 24) in die EXE-Datei eingebunden sein oder als separate gleichnamige Datei mit der Endung .exe.manifest existieren.

In Windows XP sorgten diese Dateien hauptsächlich dafür, dass die Steuerelemente der zugehörigen Programme im Design von Windows XP dargestellt wurden, anstatt im alten Design, das von Windows 95 bis 2000 verwendet worden war. Besaß eine EXE-Datei keine Manifest-Datei und war sie nicht für Windows XP neu kompiliert worden, so wurden alle Steuerelemente im alten Design gezeichnet.

Mit Windows Vista (und der darin neu eingeführten Benutzerkontensteuerung) konnte in der Manifest-Datei auch angegeben werden, in welcher Sicherheitsstufe das Programm laufen soll sowie einige weitere Privilegien, die das Programm erhalten kann.

Unter Windows 7 bekamen die Manifest-Dateien eine weitere Bedeutung: In ihnen konnte angegeben werden, für welches Windows die Datei entwickelt wurde, sowie einige weitere Einstellungen bezüglich der Rückwärtskompatibilität; Windows führte die Datei dann automatisch mit den von den Entwicklern gewählten Kompatibilitäts-Einstellungen aus. Ist keine Manifest-Datei vorhanden, verhält sich die Datei wie unter Windows Vista. Windows Vista und XP ignorieren diesen Abschnitt der Manifest-Datei.

Weiterhin wird in Manifest-Dateien (besonders bei solchen, die gegen das .Net-Framework kompiliert wurden) die eindeutige ID der Assembly angegeben, sowie Informationen zu Schnittstellen und Abhängigkeiten von anderen Assemblies.

Unter manchen älteren Windows-Versionen ab XP gab es ein Sicherheitsproblem, das direkt mit den Manifest-Dateien zusammenhing: Windows suchte bei jeder ausgeführten EXE-Datei nach einer zugehörigen Manifest-Datei, auch bei Dateien aus dem Windows-Systemverzeichnis. Ein Angreifer konnte die Manifest-Datei einer Systemdatei mit Schadcode präparieren, der dann beim Aufrufen der Systemdatei automatisch ausgeführt wurde.

