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. 栈,队列的java实现

    介绍 http://501565246-qq-com.iteye.com/blog/2047078 实现: http://blog.csdn.net/zsw101259/article/details ...

  2. nyoj 881 小M的区间公约数

    点击打开链接 首先给的范围很大,是10^9.暴力解肯定超时(单用for循环到10^9都大约要2s-3s),首先写了个程序暴力的把两个数所有的约数都打印出来,最后发现所有的公约数都是最大公约数的约数,并 ...

  3. FPGA低级建模---按键去抖动

    FPGA低级建模,原则上一个模块一个功能,如按键去抖动建模中,有两个模块. 1.detect_module 这个是按键检测模块,主要检测按键的高低电平变化,现在按键是按下还是释放. 2.delay_m ...

  4. EF4.1使用

    EF分为三类: db first:首先建立数据库,然后通过ADO.Net Entity Data Model项目建立.edmx文件,这是一个xml文件主要作用就是映射类和数据表 model first ...

  5. Android自动化学习笔记之MonkeyRunner:MonkeyRunner的录制和回放

    ---------------------------------------------------------------------------------------------------- ...

  6. VI 命令 gg 跳到第一行,dG 删除后面的所有内容

    VI 命令 gg 跳到第一行,dG 删除后面的所有内容

  7. GCD、dispatch函数介绍

    iOS多线程的方法有3种: NSThread NSOperation GCD(Grand Central Dispatch) 其中,由苹果所倡导的为多核的并行运算提出的解决方案:GCD能够访问线程池, ...

  8. android activity的启动方式

    1.Standard正常启动,默认的启动方式,没什么说头 2.SingleTop 意思就是在栈顶只能存在一个相同的activity 不能叠加,如果再A上继续启动A的话,只会调用A的onNewInten ...

  9. 定制centos安装iso

    参考 https://gist.github.com/pauljeff/4b9ad551cb6c35870d7c https://www.redhat.com/archives/kickstart-l ...

  10. CSS3 动画实现 animation 和 transition 比较

    在 CSS3 中有两种方式实现动画, 分别是 animation 和 transition, 他们都有以下功能 根据特定 CSS 属性进行动画 设定属性变化的 timing function 设定动画 ...