Est-il nécessaire de créer manuellement une source de journal des événements Windows lors de l'installation d'un service Windows
J'ai développé un service Windows en C#. J'ai créé un programme d'installation de Visual Studio 2008, qui installe le service Windows. Tout est bon jusqu'à présent. Je veux faire en sorte que la source de l'événement a été créé au moment de l'installation, de sorte que toute erreur ou des conditions d'exception lors de l'exécution sont correctement enregistrés dans le journal des événements Windows.
La source de l'événement obtenir automatiquement créé (et retiré) dans le cadre de la windows service d'installation (et de désinstallation), ou dois-je gérer cela de moi-même et de créer une action personnalisée pour créer et supprimer comme suit?
protected override void OnBeforeInstall(IDictionary savedState)
{
base.OnBeforeInstall(savedState);
if (!EventLog.SourceExists(ServiceName))
EventLog.CreateEventSource(ServiceName, "Application");
}
protected override void OnAfterUninstall(IDictionary savedState)
{
base.OnAfterInstall(savedState);
if (EventLog.SourceExists(ServiceName))
EventLog.DeleteEventSource(ServiceName);
}
source d'informationauteur Elan
Vous devez vous connecter pour publier un commentaire.
Il m'apparaît comme le
ServiceInstaller
crée automatiquement une source de données lors de l'installation avec le même nom que le service, donc il n'y a pas besoin de code supplémentaire.De la ServiceInstaller documentation
Vous devez vous inscrire lors de l'installation, parce que le compte de service pourrait ne pas avoir le privilège de le faire au cours de l'exécution: Comment: Ajouter Votre Application en tant que Source d'Entrées de Journal des Événements:
Heureusement, le ServiceInstalleril est vraiment facile, que vous avez déjà trouvé.