我用 C# 开发了一个 Windows 服务。我用 Visual Studio 2008 创建了一个安装程序,它安装了 Windows 服务。到目前为止一切都很好。我想确保在安装时已创建事件源,以便将运行时的任何错误/异常情况正确记录到 Windows 事件日志中。
事件源是否作为 Windows 服务安装(和卸载)的一部分自动创建(和删除),还是我必须自己处理并创建自定义操作来创建和删除它,如下所示?
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);
}