使用C#.NET开发Windows服务并安装部署
郝伟 2022/01/28

1 Windows 服务开发

通过查询网上资料,本文主要参考文章Create A Windows Service In C#[1]进行安装。但是文章中仍然缺少一些细节,而导致的踩坑。因此,本文对这些内容进行记录。

2 关于.NET中的Service

  1. 服务的本质就是自动运行指定程序,系统以服务的形式,能够手动或自动地启动指定的程序;
  2. 服务程序虽然也是以exe后缀的,但是不是一般程序,无法双击直接运行;
  3. 一般程序也无法当作服务程序来使用,这是因为服务程序必需派生于ServiceBase类,以使系统调用;
  4. 服务与窗体类型相同,只要服务不停止,程序的线程就一直处于运行中的状态,可以执行各类任务;

3 安装服务

3.1 安装命令 InstallUtil.exe

使用服务安装使用 InstallUtil.exe 程序,命令格式为:InstallUtil.exe [服务程序路径],其中
InstallUtil.exe 有32位和64位两个版本,位置为:

[服务程序路径]C:\Services\FileUploadService.exe, 则命令为:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe C:\Services\FileUploadService.exe

注意:如果不存在InstallUtil的目录,则需要安装 .net framework,

3.2 安装脚本

为方便安装,编写了 ServiceInstall.bat 脚本,内容为:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe FileUploadService.exe

4 启动服务

  1. Win键+R 启动“运行”;
  2. 输入 services.msc 启动Windows服务管理窗口;
  3. 找到 FileUploadService 服务,然后启动。

5 注意事项

安装和运行需要请注意以下内容:

6 参考资料

[1] Create A Windows Service In C#, https://www.c-sharpcorner.com/article/create-windows-services-in-c-sharp/
[2] 使用C#创建Windows服务, https://www.cnblogs.com/cncc/p/7170951.html