1.新建一个Windows 服务
2.添加Installer
这一步很重要,在处理完你的业务逻辑后需要添加一个Installer才能是你的Windows服务被安装。
在VS中添加Installer
右键你的Service服务,选择View Designer
再在View Designer视图中右键Add Installer
这样Installer就添加好了。
3.设置服务参数
在添加Installer时会自动生成一个ProjectInstaller.cs,在这个文件中有个InitializeComponent方法,如下
- private void InitializeComponent()
- {
- this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller();
- this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller();
- //
- // serviceProcessInstaller1
- //
- this.serviceProcessInstaller1.Password = null;
- this.serviceProcessInstaller1.Username = null;
- //
- // serviceInstaller1
- //
- this.serviceInstaller1.ServiceName = "Service1";
- //
- // ProjectInstaller
- //
- this.Installers.AddRange(new System.Configuration.Install.Installer[] {
- this.serviceProcessInstaller1,
- this.serviceInstaller1});
- }
- this.serviceProcessInstaller1.Password = null;
- this.serviceProcessInstaller1.Username = null;
为设置服务的登陆账号密码,如果不想设置用户名密码也可以采用本地系统帐户运行服务,代码如下:
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
其他设置也可在此完成。
4.安装和卸载Windows服务
制作完成的Windows服务发布后是一个exe文件,要想在使用的机器上启用这个服务,我们要用微软提供的工具Installutil工具,利用命令行安装和卸载此服务。
installutil工具在目录:系统盘:WINDOWSMicrosoft.NETFrameworkv4.0.30319下,运行cmd,输入
C:WINDOWSMicrosoft.NETFrameworkv4.0.30319installutil xxxx.exe 回车,即可完成windows服务的安装。
卸载则为输入 C:WINDOWSMicrosoft.NETFrameworkv4.0.30319installutil /u xxxx.exe 回车。
5.安装之后运行windowservice服务时有时可能会遇到service会自动down掉得情况,这种情况有肯能是编译时的exe文件是x64或者x86的情况,所以我们用mubuild手动build成anycpu的exe服务,可能会得到解决。