Partager via


Définition des niveaux de journalisation API

Vous pouvez contrôler la quantité d’informations écrites dans le journal SetupAPI, que ce soit pour toutes les applications d’installation d’appareil ou pour les applications d’installation d’appareil individuelles.

Pour modifier le niveau d’informations écrites dans le journal SetupAPI pour toutes les applications d’installation d’appareil, créez (ou modifiez) la valeur de Registre suivante :

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

En définissant cette valeur (à l’aide des valeurs répertoriées dans les tableaux ci-dessous), vous pouvez choisir le niveau d’erreurs journalisées, modifier le détail de la journalisation ou désactiver la journalisation. Vous pouvez également enregistrer des informations dans un débogueur ainsi que dans le fichier journal.

Pour spécifier des niveaux de journalisation pour des applications d’installation d’appareil individuelles, créez une entrée de Registre sous la clé suivante :

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

Sous cette clé, créez un nom de valeur représentant le nom de fichier exécutable de l’application et affectez le niveau de journalisation souhaité à ce nom (en utilisant les valeurs répertoriées dans les tableaux ci-dessous), par exemple service.exe=LoggingLevel.

Le niveau de journalisation est une valeur DWORD. Si cette valeur n’est pas spécifiée ou est égale à zéro, SetupAPI utilise un comportement par défaut, comme indiqué dans les tableaux ci-dessous.

La valeur DWORD est composée de trois parties, au format 0xSSSSDDGG. Les huit bits inférieurs, représentés par le masque 0x000000FF, définissent le niveau de journalisation pour les opérations d’installation générale de l’appareil. Les huit bits supérieurs suivants, représentés par le masque 0x0000FF00, définissent le niveau de journalisation pour les opérations d’installation de l’appareil. Les bits les plus élevés sont des indicateurs spéciaux.

Les tableaux suivants contiennent les niveaux de journalisation généraux, les niveaux de journalisation de l’installation des appareils et les indicateurs de journalisation spéciaux pour Windows 2000 et versions ultérieures.

Niveaux de journalisation généraux Signification
0x00000000 Utilisez les paramètres par défaut (actuellement 0x20).
0x00000001 Désactivé (aucune journalisation de l’installation de l’appareil).
0x00000010 Erreurs de journalisation.
0x00000020 Journaliser les erreurs et les avertissements.
0x00000030 Erreurs de journal, avertissements et autres informations.
0x00000040 Consignez les erreurs, les avertissements et d’autres informations en mode détaillé.
0x00000050 Erreurs de journalisation, avertissements et autres informations en mode détaillé, ainsi que les entrées horodatées.
0x00000060 Erreurs de journalisation, avertissements et autres informations en mode détaillé, ainsi que les entrées de temps. En outre, toutes les entrées sont horodatées.
0x00000070 Consignez les erreurs, les avertissements et d’autres informations en mode détaillé, ainsi que les messages temporels. Toutes les entrées sont horodatées. Des messages supplémentaires qui peuvent ralentir le système, tels que les accès au cache, sont inclus.
0x000000FF Spécifie la journalisation la plus détaillée disponible.
Niveaux de journalisation des appareils Signification
0x00000000 Utilisez les paramètres par défaut (actuellement 0x3000).
0x00000100 Désactivé (aucune journalisation de l’installation de l’appareil).
0x00001000 Erreurs de journalisation.
0x00002000 Journaliser les erreurs et les avertissements.
0x00003000 Erreurs de journal, avertissements et autres informations.
0x00004000 Consignez les erreurs, les avertissements et d’autres informations en mode détaillé.
0x00005000 Erreurs de journalisation, avertissements et autres informations en mode détaillé, ainsi que les entrées horodatées.
0x00006000 Erreurs de journalisation, avertissements et autres informations en mode détaillé, ainsi que les entrées de temps. En outre, toutes les entrées sont horodatées.
0x00007000 Consignez les erreurs, les avertissements et d’autres informations en mode détaillé, ainsi que les messages temporels. Toutes les entrées sont horodatées. Des messages supplémentaires qui peuvent ralentir le système, tels que les accès au cache, sont inclus.
0x0000FF00 Spécifie la journalisation la plus détaillée disponible.
Indicateurs spéciaux Signification
0x08000000 (Windows XP et versions ultérieures) Ajoutez un horodatage à toutes les entrées de journal.
0x20000000 (Windows XP et versions ultérieures) Ne videz pas les informations de journalisation sur le disque une fois chaque entrée écrite. (La journalisation est plus rapide, mais les informations peuvent être perdues si le système se bloque.)
0x40000000 Écrivez les entrées de journal chronologiquement au lieu de regrouper les entrées.
0x80000000 Envoyez la sortie au débogueur ainsi qu’au fichier journal.

Par exemple, SetupAPI interprète certains exemples de valeurs LoggingFlags comme suit :

  • 0x00000000 signifie journalisation par défaut.

  • 0x0000FFFF signifie journalisation détaillée.

  • 0x8000FF00 signifie enregistrer des informations détaillées sur l’installation de l’appareil dans le fichier journal et le débogueur.

Pour modifier les niveaux de journalisation SetupAPI par défaut lors d’une installation propre, modifiez le Registre pendant la période comprise entre l’installation en mode texte et la configuration en mode GUI. Les étapes suivantes décrivent la procédure. Ces étapes supposent que vous installez sur D:\Winnt et que vous disposez d’une build de travail de la même version de Windows sur une autre partition. Modifiez les niveaux de journalisation SetupAPI comme suit :

  1. Démarrez l’installation de la build propre que vous testez.

  2. Arrêtez le processus d’installation pendant le premier démarrage après la configuration en mode texte (c’est-à-dire avant l’installation du mode GUI).

  3. Démarrez la build en cours de fonctionnement en la sélectionnant dans le menu de démarrage, puis connectez-vous en tant qu’administrateur.

  4. Recherchez les ruches du Registre (fichiers) dans D:\Winnt\System32\config. Dans ce cas, vous devez modifier la ruche du Registre dans Software.sav.

  5. Sous Windows 2000, exécutez Regedt32, sélectionnez la fenêtre « HKEY_LOCAL_MACHINE sur l’ordinateur local », puis sélectionnez la touche HKEY_LOCAL_MACHINE. Cliquez ensuite sur le menu Registre et sélectionnez Charger Hive.

    Sur Windows XP et versions ultérieures, exécutez RegEdit. Mettez en surbrillance HKEY_LOCAL_MACHINE, cliquez sur le menu Fichier et sélectionnez Charger Hive.

  6. Parcourez les fichiers et sélectionnez D:\Winnt\System32\config\software.sav. Lorsque vous êtes invité à entrer le nom de la clé, entrez « _sw.sav »

  7. Ouvrez la clé _sw.sav sous HKEY_LOCAL_MACHINE et mettez en surbrillance la clé suivante :

    HKEY_LOCAL_MACHINE_sw.sav\Microsoft\Windows\CurrentVersion\Setup
    

    Dans Windows 2000, cliquez sur le menu Sécurité , sélectionnez Autorisations et accordez un contrôle total à l’administrateur.

    Sous Windows XP et versions ultérieures, cliquez sur le menu Modifier , sélectionnez Autorisations et accordez un contrôle total à l’administrateur.

  8. Sur Windows 2000, ajoutez les valeurs de Registre nécessaires sous cette clé en cliquant sur Modifier et en sélectionnant Ajouter une valeur.

    Sur Windows XP et versions ultérieures, cliquez sur Modifier et sélectionnez Nouvelle valeur DWORD.

    Entrez la valeur. Par exemple, ajoutez « 0xFFFF » pour activer la journalisation détaillée complète.

  9. Sélectionnez HKEY_LOCAL_MACHINE\_sw.sav, puis déchargez la ruche (à l’aide du menu Registre de Windows 2000 ou du menu Fichier sur Windows XP et versions ultérieures) The_sw.sav doit disparaître.

  10. Copiez D:\Winnt\System32\config\software.sav dans D:\Winnt\System32\config\software.

  11. Redémarrez et continuez dans le programme d’installation.

  12. Pour vérifier cette modification, appuyez sur Maj+F10 dans le programme d’installation en mode GUI, puis exécutez regedit.exe et case activée le niveau de journalisation.