Il s'agit d'une situation courante lors de la connexion au journal des événements Windows. Cela est probablement dû au fait que la source d'événement n'est pas enregistrée sur votre Windows Server 2008. Lorsque vous l'exécutez sur votre machine dev, vous (comme la plupart des développeurs) avez probablement des privilèges admin et le framework .NET crée automatiquement des sources d'événements vous les utilisez. Toute application sans privilèges d'administration ne peut pas créer de source d'événement et, par conséquent, la consignation échoue. L'application continue à fonctionner car la philosophie du bloc de journalisation est de ne pas être gênant, mais rien n'est consigné. Lors du déploiement de votre application, vous devez inclure une classe d'installation pour créer vos sources d'événements. Pour le développement, une solution rapide consiste à utiliser Windows PowerShell. Exécutez un processus PowerShell élevé et utilisez cette commande:
[System.Diagnostics.EventLog]::CreateEventSource(sourceName, logName)
pour créer votre source d'événement pour le journal donné.
Vous pouvez également exécuter InstallUtil sur des assemblys EntLib. InstallServices.bat est fourni avec EntLib qui le fera pour vous.
Voir plus dans ce Codeplex discussion.
J'ai créé un script PowerShell pour faire exactement cela. - Vérifiez qu'ils s'exécutent en tant que privilèges élevés - Avertir l'utilisateur s'ils ne le sont pas - Vérifier si le journal des événements existe - Créer le journal des événements s'il ne l'est pas - Afficher un message à l'utilisateur en tant que vers le résultat https://gist.github.com/3668859: RegisterEventLog.ps1 – Dan