64 votes

La description de l'événement de la source est introuvable

Lorsque j'écris un journal dans le journal des événements de Windows, j'obtiens l'événement ci-dessous. Quelle est la cause première de ce message, et comment puis-je le réparer ? Merci beaucoup.

La description de l'événement ID 51001 de la source RRWS ne peut être trouvée. Soit le composant qui soulève cet événement n'est pas installé sur votre ordinateur ordinateur local ou l'installation est corrompue. Vous pouvez installer ou réparer le composant sur l'ordinateur local.

Si l'événement provient d'un autre ordinateur, les informations d'affichage devaient être sauvegardées avec l'événement.

Les informations suivantes ont été incluses avec l'événement :

message du journal de test

la ressource message est présente mais le message n'est pas trouvé dans la table des chaînes/messages

4voto

Je suis également tombé sur ce problème - bien qu'il soit causé par une autre possibilité : l'identifiant de l'événement (qui était "obscurci" dans un fichier #define ) mettait en place sévérité a erreur (les deux bits de poids fort comme indiqué dans Identificateurs d'événements ). Comme Visualisateur d'événements affiche l'identifiant de l'événement (les 16 bits de poids faible), il n'y a pas de correspondance...

Pour référence, j'ai rassemblé un ensemble de conseils basés sur mes propres recherches lors du dépannage et de la réparation de ce problème :

  1. Si votre entrée de journal n'a pas se terminent par " la ressource message est présente mais le message n'est pas trouvé dans la table string/message "(par opposition à la question initiale) :

    • Cela signifie qu'il vous manque des informations sur le registre.
    • Vérifiez le nom de la source de l'événement et les clés de registre.
  2. Si vous devez ajouter/modifier les informations du registre, n'oubliez pas de le faire :

    • Redémarrer Visualisateur d'événements (comme indiqué au point 6 du KB166902 et aussi par @JotaBe)
    • Si cela n'aide pas, redémarrez Journal des événements de Windows / EventLog (ou redémarrez le système, comme l'a suggéré @BrunoBieri).
  3. Si vous Ne le fais pas. Si vous souhaitez créer une ressource DLL personnalisée, gardez à l'esprit que les fichiers de messages d'événements couramment disponibles présentent quelques inconvénients :

    • Ils contiennent un large éventail d'identifiants qui tentent de couvrir la plupart des cas.
      • .NET EventLogMessages.dll (comme suggéré par @Matt) va jusqu'à 0xFFFF
      • Windows EventCreate.exe "seulement" va jusqu'à 0x3E9
    • Chaque entrée contient %1
      • Cela signifie que seul le premièrement sera affiché
      • Toutes les chaînes passées à ReportEvent peuvent encore être inspectés en regardant les détails de l'événement (sélectionnez l'événement souhaité, allez à Détails et développer Données sur les événements )
  4. Si vous êtes toujours l'obtention " ne peut être trouvé " dans vos événements enregistrés (question initiale) :

    • Vérifier l'identifiant de l'événement valeurs utilisé (dans mon cas, c'était le Qualifications partie de l'identifiant de l'événement)
    • Comparer les détails de l'événement (sélectionner l'événement souhaité, aller à Détails et développer Système ) avec un exemple concret

3voto

Sonal Points 11

J'ai également été confronté à un problème similaire. Après avoir fait beaucoup de recherches, j'ai fait ce qui suit J'ai vérifié les étapes selon cet article http://www.codeproject.com/Articles/4166/Using-MC-exe-message-resources-and-the-NT-event-lo Tout semblait être en place. Sauf une chose Je l'ai réalisé quand je suis tombé sur ce msdn. http://msdn.microsoft.com/en-us/library/Windows/desktop/aa363661(v=vs.85).aspx

Comme le dit le dernier paragraphe Si l'application appelle RegisterEventSource et transmet un nom de source introuvable dans le registre, le service d'enregistrement des événements utilise le journal de l'application par défaut. Toutefois, comme il n'y a pas de fichiers de messages, l'observateur d'événements ne peut pas associer d'identificateurs ou de catégories d'événements à une chaîne de description et affiche une erreur. Pour cette raison, vous devez ajouter une source d'événements unique au registre pour votre application et spécifier un fichier de messages.'' Ainsi, le nom de mon application dans RegisterEventSource ne correspondait pas au nom de l'application dans le registre. J'ai corrigé cela et maintenant cela fonctionne... Veuillez donc vérifier vos entrées de registre si vous rencontrez ce problème.

1voto

Johan Burman Points 21

Dans mon cas, le problème était que mon profil cible était par accident défini comme ".Net Framework 4 Client profile". Lorsque j'ai reconstruit le service en question en utilisant le ".Net Framework 4", le problème a disparu !

0voto

Stephen Cleary Points 91731

Ce problème est généralement causé par un programme qui écrit dans le journal des événements et qui est ensuite désinstallé ou déplacé.

0voto

JotaBe Points 8950

Si vous ouvrez l'observateur d'événements avant que la source d'événements ne soit créée, par exemple pendant l'installation d'un service, vous obtiendrez ce message d'erreur. Vous n'avez pas besoin de redémarrer le système d'exploitation : il suffit de fermer et d'ouvrir le visualiseur d'événements.

NOTE : Je ne fournis pas de fichier de messages personnalisés. La création de la source d'événements utilise la configuration par défaut, comme indiqué dans la réponse de Matt .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X