最近做了一个Windows服务的项目,之前也做过,感觉有些东西还是写下来记录一下,毕竟不是经常写这类项目,做个备份,以后再做的话忘记了可以找找教程,也写出来供大家参考吧。
我们新建好解决方案后,点击新建项目-Windows项目即可,会自动生成两个类,Program.cs和Service1.cs。Service1.cs我们可以手动改成我们自己想要命名的名字。
双击Service1.cs,出现以下页面:
鼠标移到视图上,右键添加安装程序,
就会生成一个ProjectInstaller.cs的类。
我们可以看到ProjectInstaller.cs的设计视图上有两个控件,一个是serviceInstaller1,一个serviceProcessInstaller1,这两个控件我们需要配置它们的属性。在serviceInstaller1属性里面配置我们的服务的名称、服务的显示名称、服务的描述等,可以看下面图。红线标出的就是对应的关系。一般来说我们只需要配置serviceInstaller1这个三个属性就可以了。
下面就是serviceProcessInstaller1控件,一般是配置一下运行该服务的账户类型,我这里选的是系统
配置到这里项目里面基本上就可以了,下面就是你自己在Service1.cs的OnStart()方法和OnStop()里面进行自己的逻辑开发了。
开发完成之后的安装服务和卸载服务过程。
1.在vs里开发完成之后点击生成项目,会在你的当前项目的bin\Debug目录下生成对应的库文件和可执行文件。
2.在这个目录下建两个bat批处理文件,
安装程序bat
[HTML] 纯文本查看 复制代码 @ECHO OFF
ECHO "安装Windows服务..."
%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\InstallUtil ProgramService.exe(这个写你的项目生成的exe文件的名称)
ECHO "启动Windows服务..."
NET START "MyService"(这个写你的服务设置的显示名称即用户标识的友好名称)
PAUSE
卸载程序bat:
[HTML] 纯文本查看 复制代码 @ECHO OFF
ECHO "卸载Windows服务..."
%SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\InstallUtil -u ProgramService.exe(这个写你的项目生成的exe文件的名称)
PAUSE
3,建好bat后就可以点击安装、卸载服务来对建的服务进行处理了。
|