Braucht man manuell zu erstellen, ein Windows-event-log-Quelle bei der Installation eines Windows service
Entwickelt ich einen Windows-Dienst in C#. Habe ich einen installer mit Visual Studio 2008 installiert die Windows-Dienst. Alles ist gut so weit. Ich möchte sicherstellen, dass die Quelle erstellt wurde bei der Installation so, dass alle Fehler/Ausnahme-Bedingungen bei runtime sind korrekt angemeldet, um das Windows-Ereignisprotokoll.
Macht der Quelle erhalten automatisch erstellt (und entfernt) als Teil der windows-installation (und deinstallation), oder muss ich die behandeln das ich und erstellen Sie eine benutzerdefinierte Aktion zu erstellen, und löschen Sie ihn wie folgt?
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);
}
InformationsquelleAutor Elan | 2009-09-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es erscheint mir, wie die
ServiceInstaller
erstellt automatisch eine DataSource, die während der installation mit dem gleichen Namen wie das service, so gibt es keine Notwendigkeit für irgendwelche zusätzlichen code.Aus der ServiceInstaller Dokumentation
InformationsquelleAutor Ray
Sollten Sie registrieren, Sie während der Installation, da der service-Konto möglicherweise nicht die Ehre habe zu tun während der Laufzeit: Gewusst wie: Fügen Sie Ihre Anwendung als Quelle der Ereignis-Log-Einträge:
Glücklicherweise die ServiceInstaller macht es wirklich einfach, wie du schon heraus gefunden.
InformationsquelleAutor Remus Rusanu