C#创建Windows服务并安装和卸载
1、创建项目,选择windows 服务。
2、添加一个服务业务处理类JobManager.cs。
3、JobManager.cs类的内容结构如下:publi罕铞泱殳c class JobManager { 皈其拄攥Thread t = null; public JobManager() { //可加载相关的配置参数 } /// <summary> /// 任务开始 /// </summary> public void Start() { Tool.WriteLog("开始XXXX任务....."); t = new Thread(startExe); t.Start(); } /// <summary> /// 任务结束 /// </summary> public void Stop() { try { t.Abort(); } catch (Exception ex) { Tool.WriteLog("服务停止失败," + ex.ToString()); } } public void startExe() { //具体的任务逻辑 } }
4、在Service1.cs文件中加载JobManager业务处理类。public partial cl锾攒揉敫ass Service1 : ServiceBase { JobManager jobs = null; public Service1() { InitializeComponent(); InitializeJobs(); } /// <summary> /// 初始化任务对象 /// </summary> protected void InitializeJobs() { Tool.WriteLog("XXXX正在初始化..."); try { jobs = new JobManager(); } catch (Exception ex) { Tool.WriteLog("XXXX初始化失," + ex.Message); } Tool.WriteLog("XXXX初始化成功"); } protected override void OnStart(string[] args) { Tool.WriteLog("XXX服务开始启动..."); try { jobs.Start(); } catch (Exception ex) { Tool.WriteLog("XXXX服务启动异常," + ex.Message); } Tool.WriteLog("XXXX服务启动完成..."); } protected override void OnStop() { Tool.WriteLog("XXX服务开始停止..."); try { jobs.Stop(); } catch (Exception ex) { Tool.WriteLog("XXXX服务停止异常," + ex.Message); } Tool.WriteLog("XXXX服务停止完成..."); } }
5、业务逻辑完成后,双击Service1.cs文件,出现下图。
6、点击鼠标右键,出现菜单,点击添加安装程序。
7、出现安装控件
8、点击第一个控件,右键 选择属性,Account选择LocalSystem.
9、第二个控件,右键属性,设置相关属性
10、Windows服务创建完成,开始生成整个项目。
11、接下来需要把服务器程序添加到windows服务中。装备两个批处理文件Install.bat加载服务,UnInstall.bat卸载服务,把生成好的exe、dll和两个bat文件,放到一个文件夹,拷贝到部署的服务器上。
12、Install.bat内容如下:@echo 请按任意召堡厥熠键开始安装XXXX服务@echo.pause@echo.@echo 卸载原有服务项%SystemRoot%概嗤先眚\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u D:\程序\WindowsService\WindowsService\bin\Debug\WindowsService.exe@echo.@echo 卸载完成,开始安装...@echo.%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe D:\程序\WindowsService\WindowsService\bin\Debug\WindowsService.exeNet Start WindowsServicesc config WindowsService start= auto@echo.pause注意:其中WindowsService 为自定义服务名称。
13、UnInstall.bat的内容如下:@echo 请按任意键开始卸载XXXX渲舫蒇芘服务@echo.pause@echo.@echo 开始卸载...%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u D:\程序\WindowsService\WindowsService\bin\Debug\WindowsService.exe@echo.pause
14、bat文件创建好后,可以运行Install.bat,右键 选择“以管理员身份运行”,在弹出的黑框内按任意键继续。
15、安装成功后,可以在运行中输入services.msc打开服务列表,找到刚刚添加的windows服务。
16、如何需要卸载该服务,可以运行UnInstall.bat,右键 选择“以管理员身份运行”.