Ich habe einen Windows-Dienst in C# entwickelt. Ich habe ein Installationsprogramm mit Visual Studio 2008 erstellt, das den Windows-Dienst installiert. Bis jetzt ist alles gut. Ich möchte sicherstellen, dass die Ereignisquelle zum Zeitpunkt der Installation erstellt wurde, damit alle Fehler-/Ausnahmebedingungen zur Laufzeit ordnungsgemäß im Windows-Ereignisprotokoll protokolliert werden.Muss eine Windows-Ereignisprotokollquelle manuell erstellt werden, wenn ein Windows-Dienst installiert wird
Wird die Ereignisquelle automatisch als Teil der Windows-Dienst-Installation (und -Deinstallation) erstellt (und entfernt), oder muss ich selbst damit umgehen und eine benutzerdefinierte Aktion zum Erstellen und Löschen wie folgt erstellen?
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);
}