将exe文件添加到windows 服务是我比较生疏的知识,感觉挺有用,那天还有同事讨论来着,有时间定演练一下.
首先我们在 Vs中创建一个新的 windows服务项目 WindowsService1
如图
创建成功之后,我们会有如下项目
选中Service1 然后在视图界面,右键-->[添加安装程序] 如图
这时会出现ProjectInstaller.cs文件,以及在ProjectInstaller 视图界面 有2个控件
serviceInstaller1:你可以修改它的Descirption 以及 ServiceName 这2个属性分别为你的 服务描述 和 服务名称
serviceProcessInstaller1: 你需要修改Account属性,它代表运行此服务的帐户类型,一般你需要把他改为LocalSystem
到现在我们前期工作都完成,然后你可以在Service1.cs里面编写你的服务代码了,它分别有
OnStart(string[] arg)和OnStop()方法,你可以在此编写你需要的执行的程序了.
然后我们就可以编译了.编译成功后在bin 目录下应该会有WindowsService1.exe
然后我们运行.net的发布工具installutil.exe来添加到windows服务里面(该工具默认在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目录下)
把下面代码 保存到txt文件,并且另存为bat文件,并且和你的exe文件放在一起,那么双击就可以直接安装服务了.
@echo 安装WindowService
@Set Path=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;
@Set svn_dir=%cd% installutil %svn_dir%\WindowsService1.exe
@echo 成功!
然后你需要去系统服务里面 将其开启,至此,你的服务也就发布成功了如果要卸载服务 只需要将 installutil %svn_dir%\WindowsService1.exe 改为installutil %svn_dir%\WindowsService1.exe /u就可以了