0

我需要构建一个 Windows 服务来监视“主”应用程序。所以,我搜索了很多,找到了开始使用服务所需的代码。

    private IContainer componentsContainer;
    private EventLog eventLog;

    public ServiceMain()
    {
        InitializeComponent();

        eventLog = new EventLog();
        if(!EventLog.SourceExists("TestWindowsService"))
            EventLog.CreateEventSource("TestWindowsService", "Checks");
        eventLog.Source = "TestWindowsService";
        eventLog.Log = "Checks";
    }

    protected override void OnStart(string[] args)
    {
        var timer = new Timer {Interval = 60000};
        timer.Elapsed += OnTimer;
        timer.Start(); 
    }

    protected void OnTimer(object sender, ElapsedEventArgs e)
    {
        // checks here
    }
    protected override void OnStop()
    {
        // {...}
        // eventually, delete all the chunk we collected during the process
    }

我对安装程序的唯一更改是描述、显示名称、服务名称和启动类型设置为manual. 这是安装

Microsoft (R) .NET Framework 安装实用程序版本 4.6.1586.0 版权所有 (C) Microsoft Corporation。版权所有。

运行事务安装。

开始安装的安装阶段。查看 E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.exe 程序集进度的日志文件内容。该文件位于 E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.InstallLog。安装程序集“E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.exe”。受影响的参数有:logtoconsole = logfile = E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.InstallLog 汇编路径 = E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks .exe 正在安装服务 ZBMS... 服务 ZBMS 已成功安装。在日志应用程序中创建 EventLog 源 ZBMS...

安装阶段发生异常。System.ArgumentException:源 ZBMS 已存在于本地计算机上。

安装的回滚阶段即将开始。查看 E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.exe 程序集进度的日志文件内容。该文件位于 E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.InstallLog。回滚程序集 'E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.exe'。受影响的参数有:logtoconsole = logfile = E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks.InstallLog 汇编路径 = E:\Dev\ZBMS 1.0\ZBMS.Checks\bin\Debug\ZBMS.Checks .exe 将事件日志恢复到源 ZBMS 的先前状态。服务 ZBMS 正在从系统中删除... 服务 ZBMS 已成功从系统中删除。

回滚阶段成功完成。

事务安装已完成。安装失败,已回滚。

我尝试了什么:

我很难解决这个问题。

4

0 回答 0