jga*_*fin 7 eventlog-source setup-project visual-studio
我有一个安装Windows服务的安装项目.
我们在自定义日志中注册了一个事件日志源,应该由winservice项目使用(如何以及为什么不重要).
我的问题是安装项目尝试默认创建事件日志源.通过这样做它得到一个错误消息("Error 1001" source XXX already exists on local computer)并回滚.
我到处寻找,我无法找到注册的位置或如何关闭它.
如何强制Windows服务或安装项目不创建事件日志源?
您可以删除默认值EventLogInstaller:
namespace MyService
{
[RunInstaller(true)]
public partial class ProjectInstaller : Installer
{
public ProjectInstaller()
{
InitializeComponent();
// Remove the default Event Log Installer
EventLogInstaller DefaultInstaller = null;
foreach (Installer installer in serviceInstaller1.Installers)
{
if (installer is EventLogInstaller)
{
DefaultInstaller = (EventLogInstaller)installer;
break;
}
}
if (DefaultInstaller != null)
{
serviceInstaller1.Installers.Remove(DefaultInstaller);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以修改Log属性:
foreach (Installer installer in serviceInstaller1.Installers)
{
if (installer is EventLogInstaller)
{
((EventLogInstaller)installer).Log = "MyLog";
break;
}
}
Run Code Online (Sandbox Code Playgroud)
现在事件将成功记录到MyLog,服务启动/停止事件仍将记录到应用程序日志中.
(来源:serviceInstaller组件及其默认的EventLogInstaller)
| 归档时间: |
|
| 查看次数: |
6170 次 |
| 最近记录: |