Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。
一、使用C#创建Windows service步骤:
1、文件->新建->项目:选择Windows服务,修改项目名称和位置,然后点击"确定":
2、在默认生成的服务Service1设计界面上右键,选择“属性”,打开属性面板
3、在打开的属性面板中,修改常用属性:
Name:后台代码类的名称。
AutoLog:设为true,自动将事件写入到Windows的事件日志中,可以在事件查看器中查看日志
CanPansuAndContinue:设为True,表示服务可以暂停和继续
4、添加服务安装程序:在Service1的设计界面点右键,选择“添加安装程序”
5、在生成的“ProjectInstaller设计界面”修改属性
5.1 选中serviceProcessInstaller1点右键,选择“属性”,打开serviceProcessInstaller1的属性面板:
Account:指示用来运行此服务的账户类型,默认选择User,修改为高权限的LocalSystem
5.2 选中serviceInstaller1点右键,选择“属性”,打开serviceInstaller1的属性面板
ServiceName:在Windows服务里面显示的名称
Description:在Windows服务里面显示的描述信息
StartType:指示启动此服务的方式和时间 Manual:手动启动 Automatic:自动启动
DelayedAutoStart:指示服务是否延时启动,默认false,改为True,则表示服务延时启动
6、重新生成解决方案,Windows服务创建完成。
二、安装和卸载Windows服务
方式一、使用DOS命令行安装:必须以管理员身份运行DOS命令行,否则安装过程中会因为权限的问题导致安装失败。
在命令行下面执行“installutil+生成的可执行文件的路径”的命令进行安装
输入命令以后,按回车,进行安装:
出现此界面表示服务安装成功。在系统服务里面查看新安装的服务:
卸载Windows服务:
在命令行里面输入“installutil /u 可执行文件路径”命令,然后回车
C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil /u F:\练习\Windows服务\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe
在系统服务里面刷新,找不到刚才的MyFirstService服务了。
方式二:使用批处理文件(.bat)安装服务
1、新建txt文本文件。
2、编辑新建的文本文件:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe F:\练习\Windows服务\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe
pause
3、保存文件文件,修改文件后缀名为.bat,重命名文本文件:Install.bat。
使用批处理文件(.bat)卸载服务
1、新建txt文本文件。
2、编辑新建的文本文件:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u F:\练习\Windows服务\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe
pause
3、保存文件文件,修改文件后缀名为.bat,重命名文本文件:Uninstall.bat。
注意:执行批处理文件都是以管理员身份运行
方式三:使用vs自带的外部工具安装
1、以管理员身份运行visual studio,打开解决方案,选择菜单栏的“工具”->"外部工具",打开外部工具界面:
2、点击添加,添加安装程序
标题:InstallService
命令:C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe
参数:点击“箭头按钮”,选择目标文件名,注意:选择目标文件名以后要加上文件的扩展文件名
初始目录:点击“箭头按钮”,选择目标文件目录
3、最后的InstallService命令应该是下面这样:
4、点击应用、确定按钮,保存配置。
5、点击菜单栏的工具选项,可以看见新添加的"InstallService"命令
6、点击“InstallService”命令,开始安装,输出界面会显示安装信息:
7、至此,服务安装成功,在系统服务界面可以查看到新安装的服务。