我公司项目的产线系统要与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. oracle数据泵备份与还原

    完整的常用的一套oracle备份以及还原方案 --在新库中新建数据目录,我没有特别说明在哪执行的语句都可在plsql中执行 CREATE OR REPLACE DIRECTORY dump_dir A ...

  2. crawler4j详细配置

    控制器类必须传一个类型为CrawlConfig的参数,用于配置crawler4j.下面描述了一些关于配置的细节. 抓取深度 默认情况下没有抓取深度的限制.可以通过配置来限制深度,比如,你有个种子页面A ...

  3. crawler4j多线程爬虫统计分析数据

    该事例演示了如何在多线程中统计和分析数据: 首先建一个状态实体类CrawlStat: package com.demo.collectingData; /** * 爬虫状态实体类 统计爬虫信息 * @ ...

  4. 关于spring和extjs对接的过程简述

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  5. 实现简单的List功能

    简单的实现javaArrayList(可扩容)功能,实现新增,删除,取数据. package algorithm.data_structure; /** * 模拟ArrayList类的功能 * @au ...

  6. CF859C Pie Rules 动态规划 逆推_思维题

    题意:有 nnn 个物品,每个物品有不同的价值,物品按顺序分给两个人,有一块令牌,每回合拥有令牌的人拥有物品的分配权,但是该回合未获得物品的那个人会在下回合获得令牌,开始令牌在Bob手里,两个人都采取 ...

  7. Pyhton学习——Day41

    #一个完整的 JavaScript 实现是由以下 3 个不同部分组成的:# 核心(ECMAScript)# 文档对象模型(DOM) Document object model (整合js,css,ht ...

  8. 粘包解决高端_Client

    from socket import * #导入套接字模块的所有命令import struct #导入struck模块,用于封装数据流长度# from functools import partial ...

  9. Java之秒杀活动解决方案

    0 引言 本文主要描述,服务端做相关秒杀活动的时候,对应的解决方案,即高并发下的数据安全. 1 优化方案 1.1 乐观锁思路 Redis中的watch,请求时,通过Redis查询当前抢购数据,如果当前 ...

  10. 安装NexT主题

    Hexo 安装主题的方式非常简单,只需要将主题文件拷贝至站点目录的 themes 目录下, 然后修改下配置文件即可. 下载主题包 在终端窗口下,定位到 Hexo 站点目录下.使用 Git checko ...