Impostazione dei livelli di registrazione SetupAPI

È possibile controllare la quantità di informazioni scritte nel log SetupAPI, sia per tutte le applicazioni di installazione del dispositivo che per le singole applicazioni di installazione del dispositivo.

Per modificare il livello di informazioni scritte nel log SetupAPI per tutte le applicazioni di installazione del dispositivo, creare (o modificare) il valore del Registro di sistema seguente:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogLevel

Impostando questo valore (usando i valori elencati nelle tabelle seguenti) è possibile scegliere il livello di errori registrati, modificare il livello di dettaglio della registrazione o disattivare la registrazione. È anche possibile registrare le informazioni in un debugger e nel file di log.

Per specificare i livelli di registrazione per singole applicazioni di installazione del dispositivo, creare una voce del Registro di sistema nella chiave seguente:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\AppLogLevels

In questa chiave creare un nome di valore che rappresenta il nome del file eseguibile dell'applicazione e assegnare il livello di registrazione desiderato a tale nome (usando i valori elencati nelle tabelle seguenti), ad esempio service.exe=LoggingLevel.

Il livello di registrazione è un valore DWORD. Se questo valore non è specificato o è zero, SetupAPI usa un comportamento predefinito, come indicato nelle tabelle seguenti.

Il valore DWORD è costituito da tre parti, formattate come 0xSSSSDDGG. Gli otto bit bassi, rappresentati dalla maschera 0x000000FF, impostano il livello di registrazione per le operazioni generali di installazione del dispositivo. Gli otto bit successivi, rappresentati dalla maschera 0x0000FF00, impostano il livello di registrazione per le operazioni di installazione del dispositivo. I bit più alti sono flag speciali.

Le tabelle seguenti contengono i livelli di registrazione generali, i livelli di registrazione dell'installazione dei dispositivi e i flag di registrazione speciali per Windows 2000 e versioni successive.

Livelli di registrazione generali Significato
0x00000000 Usare le impostazioni predefinite (attualmente 0x20).
0x00000001 Disattivato (nessuna registrazione dell'installazione del dispositivo).
0x00000010 Errori di log.
0x00000020 Registrare errori e avvisi.
0x00000030 Registrare errori, avvisi e altre informazioni.
0x00000040 Registrare errori, avvisi e altre informazioni in modalità dettagliata.
0x00000050 Registra errori, avvisi e altre informazioni in modalità dettagliata, oltre a voci con timestamp.
0x00000060 Registra errori, avvisi e altre informazioni in modalità dettagliata, oltre alle voci temporali. Inoltre, tutte le voci vengono contrassegnate come timestamp.
0x00000070 Registrare errori, avvisi e altre informazioni in modalità dettagliata, oltre ai messaggi temporali. Tutte le voci vengono contrassegnate come timestamp. Sono inclusi altri messaggi che possono rallentare il sistema, ad esempio riscontri nella cache.
0x000000FF Specifica la registrazione più dettagliata disponibile.
Livelli di registrazione dei dispositivi Significato
0x00000000 Usare le impostazioni predefinite (attualmente 0x3000).
0x00000100 Disattivato (nessuna registrazione dell'installazione del dispositivo).
0x00001000 Errori di log.
0x00002000 Registrare errori e avvisi.
0x00003000 Registrare errori, avvisi e altre informazioni.
0x00004000 Registrare errori, avvisi e altre informazioni in modalità dettagliata.
0x00005000 Registra errori, avvisi e altre informazioni in modalità dettagliata, oltre a voci con timestamp.
0x00006000 Registra errori, avvisi e altre informazioni in modalità dettagliata, oltre alle voci temporali. Inoltre, tutte le voci vengono contrassegnate come timestamp.
0x00007000 Registrare errori, avvisi e altre informazioni in modalità dettagliata, oltre ai messaggi temporali. Tutte le voci vengono contrassegnate come timestamp. Sono inclusi altri messaggi che possono rallentare il sistema, ad esempio riscontri nella cache.
0x0000FF00 Specifica la registrazione più dettagliata disponibile.
Bandiere speciali Significato
0x08000000 (Windows XP e versioni successive) Aggiungere un timestamp a tutte le voci di log.
0x20000000 (Windows XP e versioni successive) Non scaricare le informazioni di registrazione su disco dopo la scrittura di ogni voce. La registrazione è più veloce, ma le informazioni potrebbero andare perse se il sistema si arresta in modo anomalo.
0x40000000 Scrivere voci di log in ordine cronologico anziché raggruppare le voci.
0x80000000 Inviare l'output al debugger e al file di log.

Ad esempio, SetupAPI interpreta alcuni valori LoggingFlags di esempio come indicato di seguito:

  • 0x00000000 significa registrazione predefinita.

  • 0x0000FFFF significa registrazione dettagliata.

  • 0x8000FF00 significa registrare informazioni dettagliate sull'installazione del dispositivo sia nel file di log che nel debugger.

Per modificare i livelli di registrazione setupAPI predefiniti durante un'installazione pulita, modificare il Registro di sistema durante il periodo tra l'installazione in modalità testo e la configurazione in modalità GUI. I passaggi seguenti descrivono la procedura. Questi passaggi presuppongono che si stia installando in D:\Winnt e si disponga di una build funzionante della stessa versione di Windows in un'altra partizione. Modificare i livelli di registrazione SetupAPI come indicato di seguito:

  1. Avviare l'installazione della compilazione pulita di cui si esegue il test.

  2. Arrestare il processo di installazione durante il primo avvio dopo l'installazione in modalità testo, ovvero prima dell'installazione in modalità GUI.

  3. Avviare la compilazione di lavoro selezionandola dal menu di avvio e accedere come amministratore.

  4. Trovare gli hive del Registro di sistema (file) in D:\Winnt\System32\config. In questo caso, è necessario modificare l'hive del Registro di sistema in Software.sav.

  5. In Windows 2000 eseguire Regedt32, selezionare la finestra "HKEY_LOCAL_MACHINE nel computer locale" e selezionare la chiave HKEY_LOCAL_MACHINE. Fare quindi clic sul menu Registro di sistema e selezionare Carica Hive.

    In Windows XP e versioni successive eseguire RegEdit. Evidenziare HKEY_LOCAL_MACHINE, fare clic sul menu File e selezionare Carica Hive.

  6. Sfogliare i file e selezionare D:\Winnt\System32\config\software.sav. Quando viene richiesto il nome della chiave, immettere "_sw.sav"

  7. Aprire la chiave _sw.sav in HKEY_LOCAL_MACHINE ed evidenziare la chiave seguente:

    HKEY_LOCAL_MACHINE_sw.sav\Microsoft\Windows\CurrentVersion\Setup
    

    In Windows 2000 fare clic sul menu Sicurezza , selezionare Autorizzazioni e concedere il controllo completo a Amministratore.

    In Windows XP e versioni successive fare clic sul menu Modifica , selezionare Autorizzazioni e concedere il controllo completo all'amministratore.

  8. In Windows 2000 aggiungere i valori del Registro di sistema necessari in questa chiave facendo clic su Modifica e selezionando Aggiungi valore.

    In Windows XP e versioni successive fare clic su Modifica e selezionare Nuovo valore DWORD.

    Immettere il valore . Ad esempio, aggiungere "0xFFFF" per abilitare la registrazione completa dettagliata.

  9. Selezionare HKEY_LOCAL_MACHINE\_sw.sav e scaricare l'hive (usando il menu Registro di sistema in Windows 2000 o il menu File in Windows XP e versioni successive)The_sw.sav chiave dovrebbe scomparire.

  10. Copiare D:\Winnt\System32\config\software.sav in D:\Winnt\System32\config\software.

  11. Riavviare e continuare con l'installazione.

  12. Per verificare questa modifica, premere MAIUSC+F10 nell'installazione in modalità GUI, quindi eseguire regedit.exe e controllare il livello di registrazione.