C# windows服务创建、安装、启动和卸载

一、windows服务的创建

在vs创建项目中直接创建一个windows服务项目

在Service1.cs中右键查看代码,就可以看到OnStart、OnStop   两个方法,OnStart 是服务启动时执行的代码;OnStop 是服务停止时执行的代码,如下图:

在OnStart 中写入以下代码:
 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.IO;

namespace WindowsService1
{
    public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)//服务启动时执行的代码
        {
            //在D盘中创建WindowsService.txt文件,并写入信息
            FileStream fs = new FileStream(@"d:\WindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter sw = new StreamWriter(fs);
            sw.BaseStream.Seek(0, SeekOrigin.End);
            sw.WriteLine("Service Started!(This OnStart Function)" + DateTime.Now.ToString() + "\n");
            sw.Flush();
            sw.Close();
            fs.Close();
        }

        protected override void OnStop()//服务停止时执行的代码
        {
        }
    }
}

在Service1.cs 中右键->添加安装程序

选中serviceInstaller1组件,查看属性 
设置ServiceName的值, 该值表示在系统服务中的名称 
设置StartType, 如果为Manual则手动启动,默认停止,如果为Automatic为自动启动 
设置Description,可以添加服务描述

选中serviceProcessInstaller1组件,查看属性,设置account为LocalSystem

二、windows服务安装

右键项目名称,生成项目;

然后再项目所在目录下的debug文件夹中就会得到一个.exe 文件;如图:

然后把C:\Windows\Microsoft.NET\Framework\v4.0.30319 目录下的InstallUtil.exe 复制到D:\我的文档\Visual Studio 2008\Projects\WindowsService1\WindowsService1\bin\Debug 目录下;如图:

然后已管理员权限运行cmd:

切换到debug 目录下,并用InstallUtill.exe  安装WindowsService,入下图:安装命令是

InstallUtil.exe WindowsService1.exe

执行命令后显示安装完成,则可以在windows服务中找到刚才安装的服务:

打开本地服务命令:

在本地服务中找到刚才安装的服务并启动

最后在D 盘下就可以看到一个WindowsService.txt 文件:

三、windows服务卸载

在命令行中执行命令

installutil.exe /u windowsservice1.exe

就可以卸载之前安装的服务。

发布了20 篇原创文章 · 获赞 34 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/feiduan1211/article/details/87094637