如何将exe注册为windows服务,让其直接从后台运行

方法一:使用windows自带的命令sc,首先我们要用管理员运行cmd

注册服务:

sc create TestService binpath= "D:\Test\TestService.exe" start= auto displayname= "TestService"

注意:所有的等号和值之间需要一个空格(等号前不要空格,等号后要一个空格) !!

——binpath和等号之间不要空格,等号和安装路径(例如"= D:\Test\TestService.exe")之间要空格 

binpath:你的应用程序所在的路径。

displayname:服务显示的名称。

description:服务描述说明。

如何判断服务是否注册成功:

在cmd中输入services.msc打开系统服务,查看是否出现TestService名称的服务(即displayname=后面的参数,我这里是TestService)

修改描述: 

sc description TestService "这是一个Windows测试服务。" 

启动服务

net start TestService 

停止服务

net stop TestService 

删除服务

sc delete TestService  

SC命令的更多用法请在查看help sc 

使用时我们一般用个文本文档写入命令然后保存成bat格式的文件,添加服务一个,删除服务一个。

例如“添加服务.bat”内容如下:

sc create TestService binpath= "D:\TestApp\TestService.exe"   

sc description TestService "这是一个Windows测试服务。" 

net start TestService 

pause

删除服务.bat”内容如下:

net stop TestService 

sc delete TestService 

方法二:

无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installutil.exe),然后用ServerExplorer、Windows服务器管理工具或NET START命令启动它

1. 以管理员身份运行cmd

2. 安装windows服务

  cd C:\Windows\Microsoft.NET\Framework\v4.0.30319(InstallUtil.exe的路径,注意InstallUtil.exe的版本号需要和项目的版本号相同)

3. 安装windows服务

  InstallUtil.exe D:\Service\需要安装的服务.exe(项目的路径)

4. 启动windows服务

  net start TestServive(服务名称)