Muss eine Windows-Ereignisprotokollquelle manuell erstellt werden, wenn ein Windows-Dienst installiert wird?
Ich habe einen Windows-Dienst in C # entwickelt. Ich habe mit Visual Studio 2008 ein Installationsprogramm erstellt, mit dem der Windows-Dienst installiert wird. Alles ist soweit gut. Ich möchte sicherstellen, dass die Ereignisquelle zum Zeitpunkt der Installation erstellt wurde, damit alle Fehler- / Ausnahmebedingungen zur Laufzeit korrekt im Windows-Ereignisprotokoll protokolliert werden.
Wird die Ereignisquelle im Rahmen der Installation (und Deinstallation) des Windows-Dienstes automatisch erstellt (und entfernt), oder muss ich dies selbst tun und eine benutzerdefinierte Aktion erstellen, um sie wie folgt zu erstellen und zu löschen?
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);
}