C#Windows Service程序的创建安装与卸载

C#Windows Service程序的创建安装与卸载

一、开发环境

操作系统:Windows7x64 sp1 专业版

开发环境:Visual studio 2013

编程语言:C#

.NET版本: .NET Frmework 4.0

二、创建Windows Service程序

1.新建一个windows Service程序起名为ServiceDemo

C#Windows Service程序的创建安装与卸载

2.修改Service1.cs类为ServiceDemo

C#Windows Service程序的创建安装与卸载

3.默认可以看到下面代码重写一个OnStart()和OnStop()方法

         protected override void OnStart(string[] args)
{
} protected override void OnStop()
{
}

4.在启动(onstart)和停止(OnStop)中加入几行测试代码

         /// <summary>
/// 启动
/// </summary>
/// <param name="args"></param>
protected override void OnStart(string[] args)
{
string startStr = string.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), "程序启动");
Log(startStr);
} /// <summary>
/// 停止
/// </summary>
protected override void OnStop()
{
string stopStr = string.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), "程序停止");
Log(stopStr);
}
void Log(string str)
{
string path = "D://logFile.log";
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine(str);
}
}

5.双击ServiceDemo进入ServiceDemo设计界面在空白位置右键-->菜单添加安装程序,如下图所示

C#Windows Service程序的创建安装与卸载

6.可以看到设计界面出现俩个组件

C#Windows Service程序的创建安装与卸载

7.修改这俩个组件部分属性

serviceInstaller1的属性窗口将Servicename修改为ServiceDemo,Description改为Service Demo Program,StartType 为Manual

C#Windows Service程序的创建安装与卸载

修改serviceProcessInstaller1属性将Account改为localSystem如下图所示

C#Windows Service程序的创建安装与卸载

8.鼠标右键编译生成程序可以看到生成程序的具体目录

C#Windows Service程序的创建安装与卸载

9.这里一个Windows service程序就编写完毕。

三、安装该服务程序

1.管理员身份运行命令终端(记住是管理员身份)

C#Windows Service程序的创建安装与卸载

打开命令终端程序

C#Windows Service程序的创建安装与卸载

2.安装服务

installutil.exe filename

卸载服务:
installutil.exe /u filename

安装服务程序

因为Installutil.exe程序在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 目录下,需要通过cmd命令 "cd" 切换目录。v4.0.30319是编译该Windows Service程序的版本(自己选择对应的版本)

输入如下所示:(根据自己程序的路径自己选择,输入完毕回车)

C#Windows Service程序的创建安装与卸载

安装完成提示

C#Windows Service程序的创建安装与卸载

安装完成后在计算机->管理->服务列表中就可以看到刚才编写的服务程序

C#Windows Service程序的创建安装与卸载

可以手动右键启动\停止程序

C#Windows Service程序的创建安装与卸载

C#Windows Service程序的创建安装与卸载

卸载服务

只需要在installutil.exe 后面加 /u 即为卸载命令

C#Windows Service程序的创建安装与卸载

根据前面程序的功能启动或者停止会有一个日志记录在D盘查看如下

C#Windows Service程序的创建安装与卸载

当然也可以不用命令行操作,单独开发一个客户端程序管理详细见下一篇博客

C#Windows Service服务程序的安装/卸载、启动/停止客户端程序设计

源代码工程文件下载

参考博客:https://www.cnblogs.com/mq0036/p/7875864.html

上一篇:如何利用mono把.net windows service程序迁移到linux上


下一篇:C#中级-通过注册表读取Windows Service程序执行路径