Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。

一、使用C#创建Windows service步骤:

1、文件->新建->项目:选择Windows服务,修改项目名称和位置,然后点击"确定":

2、在默认生成的服务Service1设计界面上右键,选择“属性”,打开属性面板

3、在打开的属性面板中,修改常用属性:

Name:后台代码类的名称。
    AutoLog:设为true,自动将事件写入到Windows的事件日志中,可以在事件查看器中查看日志
    CanPansuAndContinue:设为True,表示服务可以暂停和继续

4、添加服务安装程序:在Service1的设计界面点右键,选择“添加安装程序”

5、在生成的“ProjectInstaller设计界面”修改属性

5.1 选中serviceProcessInstaller1点右键,选择“属性”,打开serviceProcessInstaller1的属性面板:
          Account:指示用来运行此服务的账户类型,默认选择User,修改为高权限的LocalSystem

5.2 选中serviceInstaller1点右键,选择“属性”,打开serviceInstaller1的属性面板
       ServiceName:在Windows服务里面显示的名称
       Description:在Windows服务里面显示的描述信息
       StartType:指示启动此服务的方式和时间 Manual:手动启动  Automatic:自动启动
       DelayedAutoStart:指示服务是否延时启动,默认false,改为True,则表示服务延时启动

6、重新生成解决方案,Windows服务创建完成。

二、安装和卸载Windows服务

方式一、使用DOS命令行安装:必须以管理员身份运行DOS命令行,否则安装过程中会因为权限的问题导致安装失败。

在命令行下面执行“installutil+生成的可执行文件的路径”的命令进行安装

输入命令以后,按回车,进行安装:

出现此界面表示服务安装成功。在系统服务里面查看新安装的服务:

卸载Windows服务:

在命令行里面输入“installutil /u 可执行文件路径”命令,然后回车

C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil /u F:\练习\Windows服务\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe

在系统服务里面刷新,找不到刚才的MyFirstService服务了。

方式二:使用批处理文件(.bat)安装服务

1、新建txt文本文件。

2、编辑新建的文本文件:

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe F:\练习\Windows服务\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe

pause

3、保存文件文件,修改文件后缀名为.bat,重命名文本文件:Install.bat。

使用批处理文件(.bat)卸载服务

1、新建txt文本文件。

2、编辑新建的文本文件:

%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\installutil.exe /u F:\练习\Windows服务\WindowsServiceDemo\WindowsServiceDemo\bin\Debug\WindowsServiceDemo.exe
pause

3、保存文件文件,修改文件后缀名为.bat,重命名文本文件:Uninstall.bat。

注意:执行批处理文件都是以管理员身份运行

方式三:使用vs自带的外部工具安装

1、以管理员身份运行visual studio,打开解决方案,选择菜单栏的“工具”->"外部工具",打开外部工具界面:

2、点击添加,添加安装程序

标题:InstallService

命令:C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe

参数:点击“箭头按钮”,选择目标文件名,注意:选择目标文件名以后要加上文件的扩展文件名

初始目录:点击“箭头按钮”,选择目标文件目录

3、最后的InstallService命令应该是下面这样:

4、点击应用、确定按钮,保存配置。

5、点击菜单栏的工具选项,可以看见新添加的"InstallService"命令

6、点击“InstallService”命令,开始安装,输出界面会显示安装信息:

7、至此,服务安装成功,在系统服务界面可以查看到新安装的服务。

Windows服务一:新建Windows服务、安装、卸载服务的更多相关文章

  1. 2.Windows服务-->安装卸载服务

    1.使用vs组件“VS2012开发人员命令提示” 工具,进行安装卸载服务(必须以“管理员身份运行") 安装和卸载的时候选择合适的安装程序工具地址,例如: 安装服务:C:\Windows\Mi ...

  2. Mysql-win免安装卸载服务后重新安装不能启动的问题

    一.先看配置文件有没有问题,以下是一个简单的配置 [mysql] default-character-set=utf8 [mysqld] character-set-server=utf8 port ...

  3. WINDOWS 2008Server 配置nginx 反向代理服务器 安装成服务

    本案例有用过可行 反向代理就是是网站通过一台机器发布到公网,客户访问的时候是直接访问那台代理机器的,然后通过那台机器才访问到内网网站.   0.先要在域名官网上面配置域名对应的IP地址,然后要在自己路 ...

  4. paramiko监控 windows服务器 被监控服务器只需要安装openssh服务即可基于wmic完成大部分监控

    #!/usr/bin/python #-*- coding: UTF-8 -*- #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  5. c#创建windows服务(代码方式安装、启动、停止、卸载服务)

    转载于:https://www.cnblogs.com/mq0036/p/7875864.html 一.开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NE ...

  6. C# windows服务:通过cmd命令安装、卸载、启动和停止Windows Service(InstallUtil.exe)

    步骤: 1.运行--〉cmd:打开cmd命令框 2.在命令行里定位到InstallUtil.exe所在的位置 InstallUtil.exe 默认的安装位置是在C:/Windows/Microsoft ...

  7. C#创建服务及使用程序自动安装服务,.NET创建一个即是可执行程序又是Windows服务的exe

    不得不说,.NET中安装服务很麻烦,即要创建Service,又要创建ServiceInstall,最后还要弄一堆命令来安装和卸载. 今天给大家提供一种方式,直接使用我们的程序来安装/卸载服务,并且可以 ...

  8. 新建WINDOWS服务C#

    当前作业环境 Windows8.1 | Visual Studio 2013 一. 建立项目,选择"Windows服务"模板 二. 查看生成的项目,结构很像WinForm的项目,其 ...

  9. 使用C#创建Windows服务 并发布Windows 服务

    一.开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Framework 4.0 目标平台:X86 二.创建Windows Servic ...

  10. C#操作注册服务卸载服务启动服务停止服务.. .

    using Microsoft.Win32; using System; using System.Collections; using System.Collections.Generic; usi ...

随机推荐

  1. metasploit渗透初探MR.robot(一)

    看了MR.robot,有一种研究渗透技术的冲动, 网上也看了些教程,要从kali linux说起, 下载vmware 12,http://www.vmware.com/go/tryworkstatio ...

  2. [ActionScript 3.0] 对代码加密的有效方法

    package { import flash.display.Loader; import flash.display.Sprite; import flash.net.LocalConnection ...

  3. 71. Merge k Sorted Lists

    Merge k Sorted Lists Merge k sorted linked lists and return it as one sorted list. Analyze and descr ...

  4. Hadoop内功修炼

    IT十八掌<大数据内功修炼系列课程>强势推出!由实战派名师徐培成亲自操刀,学完做不了大数据我们负全责!2015.12.21前,优惠价:4999(名额已不多!)2015.12.31前,优惠价 ...

  5. mysql分组函数

    组函数针对的是指定字段的非空值.注意:where子句中不能出现组函数!!! avg()    平均值(只能针对数值型 ) max()    最大值(不限制类型) min()    最小值(不限制类型) ...

  6. metasploit用法

    1.msfconsole 进入metasploit 2.help connect 查看帮助 3.msfcli -h 查看帮助 4.ms08_067_netapi O 字符命令后加“O”,查看配置 5. ...

  7. HDU2048

    http://acm.hdu.edu.cn/showproblem.php?pid=2048 这道题是错位排序的思想 我们先来考虑第n个数,假设把他放在第k的位置,有n-1种放的方法,那么对于第k位置 ...

  8. 《疯狂Java讲义》(三) ---- JDK&JRE&JVM&CLASSPATH

    JDK: Java SE Development Kit, Java标准版开发包.包括Java编译器,JRE,以及常用的Java类库等. JRE: Java Runtime Environment,运 ...

  9. 百度echart使用心得,百度图表。

    百度echart算是百度针对数据展示做的一个图表插件吧,一般我们使用都不是问题,主要还是对于对动态数据的解析.我这里使用饼状图,和柱状图为例: 首先,我们需要定义一个绘图的容器:(class是我自己定 ...

  10. C/C++程序员应聘试题剖析(转载)

    转载自:http://www.cnitblog.com/zouzheng/articles/21856.html 1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面 ...