控制台程序转化为windows服务

Posted djd66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了控制台程序转化为windows服务相关的知识,希望对你有一定的参考价值。

首先我们创建一个控制台应用程序WriteLog,然后添加windows服务LogService

新增的windows服务切换到代码视图,我这边用log4net进行的日志的记录

 

 

OnStart方式是服务启动后执行的,OnStop是服务停止后执行的方法。

切换到设计页面,右击添加安装程序

修改serviceInstaller1的属性

 

 

  1. StartType属性值设置为Automatic,这样计算机重新启动时,服务会自动启动。
  2. Description属性是服务的描述。
  3. Display属性是服务名称。

修改serviceProcessInstaller1属性

LocalSystem表示本地系统管理员身份

控制台启动项Program类中运行服务

static void Main(string[] args)
{
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[]
    {
        new LogService() //这里的LogService是新增的Windows服务
    };
    ServiceBase.Run(ServicesToRun);
}

 

以管理员身份运行以下程序:

 

切换到cd C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319(或者C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727)
安装服务:installutil ***(程序路径)

OK,服务添加成功。cmd输入services.msc查看服务

我们启动服务,查看日志是否记录成功。

日志记录成功,服务添加完成。

卸载服务:installutil /u ***(程序路径)



作者:高调的小丑
链接:https://www.jianshu.com/p/2a5410c5bbb1

 

以上是关于控制台程序转化为windows服务的主要内容,如果未能解决你的问题,请参考以下文章

Qt实现Windows远程控制

topshelf包装redis为windows服务

怎样将python的文件转化为windows的可执行程序

从片段调用 Google Play 游戏服务

怎么在windows 服务程序里面调用一个控制台的程序

用于调度代码重复运行的 Windows 任务调度程序有多可靠?