Festlegen der SetupAPI-Protokollierungsebenen
Sie können die Menge der Informationen steuern, die in das SetupAPI-Protokoll geschrieben werden, entweder für alle Geräteinstallationsanwendungen oder für einzelne Geräteinstallationsanwendungen.
Um die Ebene der Informationen zu ändern, die in das SetupAPI-Protokoll für alle Geräteinstallationsanwendungen geschrieben werden, erstellen (oder ändern) Sie den folgenden Registrierungswert:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogLevel
Durch Festlegen dieses Werts (unter Verwendung der in den folgenden Tabellen aufgeführten Werte) können Sie die Ebene der protokollierten Fehler auswählen, die Ausführlichkeit der Protokollierung ändern oder die Protokollierung deaktivieren. Sie können Informationen auch in einem Debugger und in der Protokolldatei protokollieren.
Um Protokollierungsebenen für einzelne Geräteinstallationsanwendungen anzugeben, erstellen Sie einen Registrierungseintrag unter dem folgenden Schlüssel:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\AppLogLevels
Erstellen Sie unter diesem Schlüssel einen Wertnamen, der den Namen der ausführbaren Datei der Anwendung darstellt, und weisen Sie diesem Namen den gewünschten Protokollierungsgrad zu (unter Verwendung der in den folgenden Tabellen aufgeführten Werte), z. B.service.exe=LoggingLevel.
Die Protokollierungsebene ist ein DWORD-Wert. Wenn dieser Wert nicht angegeben ist oder null ist, verwendet SetupAPI ein Standardverhalten, wie in den folgenden Tabellen angegeben.
Der DWORD-Wert besteht aus drei Teilen, die als 0xSSSSDDGG formatiert sind. Die niedrigen acht Bits, dargestellt durch die Maske 0x000000FF, legen den Protokollierungsgrad für allgemeine Geräteinstallationsvorgänge fest. Die nächsthöheren acht Bits, dargestellt durch die Maske 0x0000FF00, legen den Protokollierungsgrad für Geräteinstallationsvorgänge fest. Die höchsten Bits sind spezielle Flags.
Die folgenden Tabellen enthalten die allgemeinen Protokollierungsebenen, Die Protokollierungsstufen für Die Geräteinstallation und spezielle Protokollierungsflags für Windows 2000 und höher.
Allgemeine Protokollierungsstufen | Bedeutung |
---|---|
0x00000000 | Standardeinstellungen verwenden (derzeit 0x20). |
0x00000001 | Aus (keine Protokollierung der Geräteinstallation). |
0x00000010 | Protokollfehler. |
0x00000020 | Protokollieren von Fehlern und Warnungen. |
0x00000030 | Protokollieren von Fehlern, Warnungen und anderen Informationen. |
0x00000040 | Protokollieren von Fehlern, Warnungen und anderen Informationen im ausführlichen Modus. |
0x00000050 | Protokollieren von Fehlern, Warnungen und anderen Informationen im ausführlichen Modus sowie zeitstempelte Einträge. |
0x00000060 | Protokollieren Sie Fehler, Warnungen und andere Informationen im ausführlichen Modus sowie Zeiteinträge. Darüber hinaus werden alle Einträge mit Zeitstempel versehen. |
0x00000070 | Protokollieren sie Fehler, Warnungen und andere Informationen im ausführlichen Modus sowie Zeitmeldungen. Alle Einträge sind mit Zeitstempel versehen. Zusätzliche Nachrichten, die das System verlangsamen können, z. B. Cachetreffer, sind enthalten. |
0x000000FF | Gibt die ausführlichste verfügbare Protokollierung an. |
Geräteprotokollierungsebenen | Bedeutung |
---|---|
0x00000000 | Standardeinstellungen verwenden (derzeit 0x3000). |
0x00000100 | Aus (keine Protokollierung der Geräteinstallation). |
0x00001000 | Protokollfehler. |
0x00002000 | Protokollieren von Fehlern und Warnungen. |
0x00003000 | Protokollieren von Fehlern, Warnungen und anderen Informationen. |
0x00004000 | Protokollieren von Fehlern, Warnungen und anderen Informationen im ausführlichen Modus. |
0x00005000 | Protokollieren von Fehlern, Warnungen und anderen Informationen im ausführlichen Modus sowie zeitstempelte Einträge. |
0x00006000 | Protokollieren Sie Fehler, Warnungen und andere Informationen im ausführlichen Modus sowie Zeiteinträge. Darüber hinaus werden alle Einträge mit Zeitstempel versehen. |
0x00007000 | Protokollieren sie Fehler, Warnungen und andere Informationen im ausführlichen Modus sowie Zeitmeldungen. Alle Einträge sind mit Zeitstempel versehen. Zusätzliche Nachrichten, die das System verlangsamen können, z. B. Cachetreffer, sind enthalten. |
0x0000FF00 | Gibt die ausführlichste verfügbare Protokollierung an. |
Spezielle Flags | Bedeutung |
---|---|
0x08000000 | (Windows XP und höher) Fügen Sie allen Protokolleinträgen einen Zeitstempel hinzu. |
0x20000000 | (Windows XP und höher) Leeren Sie die Protokollierungsinformationen nicht auf den Datenträger, nachdem die einzelnen Einträge geschrieben wurden. (Die Protokollierung ist schneller, aber Informationen können verloren gehen, wenn das System abstürzt.) |
0x40000000 | Schreiben Sie Protokolleinträge chronologisch, anstatt Einträge zu gruppieren. |
0x80000000 | Senden Sie die Ausgabe sowohl an den Debugger als auch an die Protokolldatei. |
SetupAPI interpretiert beispielsweise einige LoggingFlags-Beispielwerte wie folgt:
0x00000000 bedeutet die Standardprotokollierung.
0x0000FFFF bedeutet ausführliche Protokollierung.
0x8000FF00 bedeutet, dass ausführliche Geräteinstallationsinformationen sowohl in der Protokolldatei als auch im Debugger protokolliert werden.
Um die Standardmäßigen SetupAPI-Protokollierungsebenen während einer sauber Installation zu ändern, bearbeiten Sie die Registrierung während des Zeitraums zwischen der Einrichtung des Textmodus und der Einrichtung des GUI-Modus. In den folgenden Schritten wird das Verfahren beschrieben. Bei diesen Schritten wird davon ausgegangen, dass Sie in D:\Winnt installieren und über einen funktionierenden Build derselben Version von Windows auf einer anderen Partition verfügen. Ändern Sie die SetupAPI-Protokollierungsebenen wie folgt:
Starten Sie die Installation des sauber Build, den Sie testen.
Beenden Sie den Setupvorgang während des ersten Startvorgangs nach der Einrichtung im Textmodus (also vor der Einrichtung des GUI-Modus).
Starten Sie den funktionierenden Build, indem Sie ihn im Startmenü auswählen, und melden Sie sich als Administrator an.
Suchen Sie die Registrierungsstrukturen (Dateien) in D:\Winnt\System32\config. In diesem Fall müssen Sie die Registrierungsstruktur in Software.sav ändern.
Führen Sie unter Windows 2000 Regedt32 aus, wählen Sie das Fenster "HKEY_LOCAL_MACHINE auf dem lokalen Computer" aus, und wählen Sie die HKEY_LOCAL_MACHINE-Taste aus. Klicken Sie dann auf das Menü Registrierung , und wählen Sie Hive laden aus.
Führen Sie unter Windows XP und höher RegEdit aus. Markieren Sie HKEY_LOCAL_MACHINE, klicken Sie auf das Menü Datei , und wählen Sie Hive laden aus.
Durchsuchen Sie die Dateien, und wählen Sie D:\Winnt\System32\config\software.sav aus. Wenn Sie zur Eingabe des Schlüsselnamens aufgefordert werden, geben Sie "_sw.sav" ein.
Öffnen Sie den Schlüssel _sw.sav unter HKEY_LOCAL_MACHINE, und markieren Sie den folgenden Schlüssel:
HKEY_LOCAL_MACHINE_sw.sav\Microsoft\Windows\CurrentVersion\Setup
Klicken Sie unter Windows 2000 auf das Menü Sicherheit , wählen Sie Berechtigungen aus, und gewähren Sie dem Administrator Vollzugriff.
Klicken Sie unter Windows XP und höher auf das Menü Bearbeiten , wählen Sie Berechtigungen aus, und gewähren Sie dem Administrator Vollzugriff.
Fügen Sie unter Windows 2000 die erforderlichen Registrierungswerte unter diesem Schlüssel hinzu, indem Sie auf Bearbeiten klicken und Wert hinzufügen auswählen.
Klicken Sie unter Windows XP und höher auf Bearbeiten , und wählen Sie Neuer DWORD-Wert aus.
Geben Sie den Wert ein. Fügen Sie beispielsweise "0xFFFF" hinzu, um die vollständige ausführliche Protokollierung zu aktivieren.
Wählen Sie HKEY_LOCAL_MACHINE\_sw.sav aus, und entladen Sie die Struktur ( über das Registrierungsmenü unter Windows 2000 oder über das Menü Datei unter Windows XP und höher),The_sw.sav-Schlüssel sollte ausgeblendet werden.
Kopieren Sie D:\Winnt\System32\config\software.sav in D:\Winnt\System32\config\software.
Starten Sie neu, und fahren Sie mit Setup fort.
Um diese Änderung zu überprüfen, drücken Sie UMSCHALT+F10 im GUI-Modus Setup, führen Sie dannregedit.exe aus, und überprüfen Sie die Protokollierungsebene.