一、创建一个Windows Service
我的IDE开发工具使用的是vs2019,和之前的vs版本不大相同,所有添加了详细的截图说明。
首先,选择新建项目,项目类型选择服务。
之后,选择Windows 服务(.NET Framework)
然后,修改项目名称,这里我们重命名为EmailService
然后点击创建,进行创建新项目。
二、创建服务安装程序
首先来看下新建好的程序目录
接下来,我们对Service1重命名,重命名为mEmailService
2.1 添加安装程序
然后点击mEmailService.cs,鼠标右键出弹窗,点击添加安装程序。
之后程序就会自动安装并出现以下文件,如·下图所示:
2.2 修改安装服务名
右键serviceInsraller1,选择属性,将ServiceName的值改为mEmailService。
属性中需要修改的项目如下图所示:
2.3 修改安装权限
右键serviceProcessInsraller1,选择属性,将Account的值改为LocalSystem。
三、写入服务代码
右键mEmailService,选择查看代码。也可以双击空白区域,也能出现代码区。
这时候会出现以下代码:
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Diagnostics; 6 using System.Linq; 7 using System.ServiceProcess; 8 using System.Text; 9 using System.Threading.Tasks; 10 11 namespace EmailService 12 { 13 public partial class mEmailService : ServiceBase 14 { 15 public mEmailService() 16 { 17 InitializeComponent(); 18 } 19 20 /// <summary> 21 /// 服务启动代码 22 /// </summary> 23 /// <param name="args"></param> 24 protected override void OnStart(string[] args) 25 { 26 //TODO 27 } 28 29 /// <summary> 30 /// 服务停止代码 31 /// </summary> 32 protected override void OnStop() 33 { 34 //TODO 35 } 36 } 37 }
四、创建安装脚本
在项目中添加2个文件如下(必须是ANSI或者UTF-8无BOM格式):
4.1 安装脚本Install.bat 【注意对应关键字】
代码:
1 %SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe %~p0EmailService.exe 2 Net Start mEmailService 3 sc config mEmailService start= auto
4.2 卸载脚本Uninstall.bat 【注意对应关键字】
代码:
1 %SystemRoot%Microsoft.NETFrameworkv4.0.30319installutil.exe /u %~p0EmailService.exe
4.3 安装脚本说明
第二行为启动服务。
第三行为设置服务为自动运行。
这2行视服务形式自行选择。
4.4 脚本调试
如果需要查看脚本运行状况,在脚本最后一行加入pause
5 以管理员身份CMD注册,避免没有操作权限
在命令行里定位到InstallUtil.exe所在的位置
命令:cd C:WindowsMicrosoft.NETFrameworkv4.0.30319
安装服务命令
命令 :InstallUtil.exe PathdwWindowsService.exe
其中 Path指路径
成功之后就可以在服务中看到你刚刚新建的服务了。