我公司项目的产线系统要与WMS物流系统做借口对接,需要我创建一个windows服务的项目,里面含有7个服务

创建Windows服务:

1.如图:点击 windows->经典桌面->windows服务,填写项目名称点击确定即可,此时已有一个Service1.cs

2.添加第二个服务,右击选择添加新建项-> 常规 -> windows服务 ,此时多了一个Service2.cs

3.分别双击service1.cs和service2.cs 打开设计器

4.在空白处右击 选择“添加安装程序”

5.添加完之后会多出ProjectInstaller.cs文件,并在此文件中会多出serviceInstaller1和serviceProcessInstaller1

6.双击service2.cs文件,右击选择“添加程序文件”,此时会在ProjectInstaller.cs文件中添加serviceInstaller2

7.每一个服务的属性设置:

其中ServiceName的内容Service1是默认的,它要和windows服务项目的启动程序Program.cs中的名称一样

Program.cs中的个数不能少,不然会报:【.net服务 错误1083:配置成在该可执行程序中运行的这个服务不能执行该服务】

windows服务的安装:

首先需要生成将要安装的windows服务

注:windows服务调试特别麻烦,可以使用新建windowsform项目进行测试

从命令行运行 Installutil.exe 目录  命令,以项目中的已编译可执行文件所在的目录作为参数,安装服务:

1.因为Installutil.exe程序在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 目录下,需要通过cmd命令 "cd" 切换目录。

2.安装服务:installutil.exe E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.exe

找到exe文件所在目录:E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug

再命令提示符中执行:installutil.exe E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.exe

windows服务的卸载:

1、以管理员身份运行命令行工具

2、进入InstallUtil.exe文件夹
cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 或 cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

C:\Windows\system32>cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319\

3、卸载服务,如果路径带空格,用双引号包起来

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>InstallUtil.exe /u "E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.exe"

4、卸载结果

正在开始卸载。
查看日志文件的内容以获得 E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.exe 程序集的进度。
该文件位于 E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.InstallLog。
正在卸载程序集“E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.exe”。
受影响的参数是:
logtoconsole =
assemblypath = E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.exe
logfile = E:\MyProject\WLZJ_Update\04_JieKou\WindowsService_1709_180704\bin\Debug\WindowsService_1709_180704.InstallLog
正在移除 EventLog 源 Service6。
警告: 源 Service6 未在本地计算机上注册。
正在从系统中移除服务 Service6...
在卸载 System.ServiceProcess.ServiceInstaller 安装程序的过程中发生异常。
System.ComponentModel.Win32Exception: 指定的服务未安装。
在卸载的过程中发生异常。将忽略该异常并继续卸载。但是,在卸载完成之后应用程序可能未完全卸载。
正在移除 EventLog 源 Service5。
警告: 源 Service5 未在本地计算机上注册。
正在从系统中移除服务 Service5...
在卸载 System.ServiceProcess.ServiceInstaller 安装程序的过程中发生异常。
System.ComponentModel.Win32Exception: 指定的服务未安装。
在卸载的过程中发生异常。将忽略该异常并继续卸载。但是,在卸载完成之后应用程序可能未完全卸载。
正在移除 EventLog 源 Service4。
正在从系统中移除服务 Service4...
已成功地从系统中移除服务 Service4。
正在移除 EventLog 源 Service3。
正在从系统中移除服务 Service3...
已成功地从系统中移除服务 Service3。
正在移除 EventLog 源 Service2。
正在从系统中移除服务 Service2...
已成功地从系统中移除服务 Service2。
正在移除 EventLog 源 Service1。
正在从系统中移除服务 Service1...
已成功地从系统中移除服务 Service1。 卸载完成。
在卸载的过程中发生异常。将忽略该异常并继续卸载。但是,在卸载完成之后应用程序可能未完全卸载。 C:\Windows\Microsoft.NET\Framework64\v4.0.30319>

注:Service1至Service4是我之前安装过的,Service5和Service6是我后开发的,添加了安装程序但并没有安装服务。

Windows服务的创建,安装,卸载的更多相关文章

  1. windows服务项目的 安装 卸载 查看

    安装服务:installutil.exe C:\a.exe卸载服务Installutil.exe /u C:\a.exe 查看服务状态 services.msc

  2. C# Windows服务的创建、安装、调试

    一.查看已有的Windows服务 选择菜单"开始"-〉"控制面板"-〉"管理工具"-〉"服务"来查看现有系统中的服务 二 ...

  3. windows服务的创建、安装、调试全过程及引发的后续学习

    前几天做项目的时候需要用到window服务,研究一段时间,算是掌握了最基本的使用方法吧,现总结如下: 引言:在项目过程中碰到一个问题:需要不断的扫描一个大型数据库表,并获取dataset,以便做后续的 ...

  4. 玩转Windows服务系列——创建Windows服务

    创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...

  5. 玩转Windows服务系列——创建Windows服务

    原文:玩转Windows服务系列——创建Windows服务 创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Wi ...

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

    C#Windows Service服务程序的安装/卸载.启动/停止 桌面客户端管理程序设计 关于Windows Service程序的安装与卸载如果每次使用命令行操作,那简直要奔溃了,太麻烦而且还容易出 ...

  7. 关于windows服务的编写/安装/与调试

    前注: 首先,这篇文章是从网上转过来的,因为最近有个项目,需要编写一个Windows Service来定时执行程序,网上很容易找到了这篇文章,大概看了一下,文章讲的还是很详细的.不过这篇文章应该是.n ...

  8. C# Windows服务创建安装卸载

    一.创建Windows服务 使用VS创建一个新的windows服务应用程序 创建完成之后 二.相关配置 修改Service1名称为StartService(可以不改,自行选择) 添加安装程序并修改配置 ...

  9. windows服务的创建、安装和调试

    1.创建 windows服务 项目   文件 -> 新建项目 -> 已安装的模板 -> Visual C# -> windows ,在右侧窗口选择"windows 服 ...

随机推荐

  1. docker迁移步骤

    1. 创建快照:docker commit -p 30b8f18f20b4 container-backup (可以通过docker images 查看docker镜像) 2. 镜像保存在本地机器中: ...

  2. Linux命令学习-curl

    作用 curl是利用URL语法的一款强大的网络工具,你可以使用它完成上传下载文件等操作. curl http://www.cnblogs.com 上诉的命令即可将页面内容打印到屏幕上. 常用参数 -o ...

  3. Qt-窗口部件概念介绍

    前言:包括基础窗口部件QWidget.对话框QDialog.QFrame类族 .按钮部件.行编辑器.数值设定框以及滑块部件. 一.基础窗口部件QWidget 窗口部件(Widget)是Qt中建立用户界 ...

  4. Centos7 minimal 系列之rabbitmq的理解(九)

    一.前言 传送门:rabbitmq安装 第一次接触消息队列,有很多不熟悉的地方,可能也有很多写的不对的,大家一起学习. RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统. 使用场景: ...

  5. iOS11中navigationBar上 按钮图片设置frame无效 不受约束 产生错位问题 解决

    问题描述: 正常样式: 在iOS 11 iPhone X上显示效果: 观察顶部navBar上的左侧按钮  在ios 11 上  这个按钮的图片不受设置的尺寸约束,按其真实大小展示,造成图片错位,影响界 ...

  6. 代码行数统计(mac)

    如何统计自己的代码量?下面介绍两个方法: 一.cloc 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码 ...

  7. C#操作IIS服务

    进入正题:先从使用角度来讲解IIS操作,然后再深入到具体的IIS服务底层原理. [1]前提掌握要点: (1).IIS到目前经历了四个版本分别为 IIS4.0 IIS5.0 IIS6.0 IIS7.0, ...

  8. ajax第一天总结

    AJAX开发步骤 步一:创建AJAX异步对象,例如:createAJAX() 步二:准备发送异步请求,例如:ajax.open(method,url) 步三:如果是POST请求的话,一定要设置AJAX ...

  9. Pyhton学习——Day9(阶段性练习)

    # 1.文件内容如下,标题为:姓名,性别,年纪,薪资## egon male 18 3000# alex male 38 30000# wupeiqi female 28 20000# yuanhao ...

  10. ElasticSearch启动报错,bootstrap checks failed

    修改elasticsearch.yml配置文件,允许外网访问. vim config/elasticsearch.yml# 增加 network.host: 0.0.0.0 启动失败,检查没有通过,报 ...