Windows服务的创建,安装,卸载
我公司项目的产线系统要与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服务的创建,安装,卸载的更多相关文章
- windows服务项目的 安装 卸载 查看
安装服务:installutil.exe C:\a.exe卸载服务Installutil.exe /u C:\a.exe 查看服务状态 services.msc
- C# Windows服务的创建、安装、调试
一.查看已有的Windows服务 选择菜单"开始"-〉"控制面板"-〉"管理工具"-〉"服务"来查看现有系统中的服务 二 ...
- windows服务的创建、安装、调试全过程及引发的后续学习
前几天做项目的时候需要用到window服务,研究一段时间,算是掌握了最基本的使用方法吧,现总结如下: 引言:在项目过程中碰到一个问题:需要不断的扫描一个大型数据库表,并获取dataset,以便做后续的 ...
- 玩转Windows服务系列——创建Windows服务
创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Windows服务项目. 生成的解决方案包含两个项目:Servi ...
- 玩转Windows服务系列——创建Windows服务
原文:玩转Windows服务系列——创建Windows服务 创建Windows服务的项目 新建项目->C++语言->ATL->ATL项目->服务(EXE) 这样就创建了一个Wi ...
- C#Windows Service服务程序的安装/卸载、启动/停止 桌面客户端管理程序设计
C#Windows Service服务程序的安装/卸载.启动/停止 桌面客户端管理程序设计 关于Windows Service程序的安装与卸载如果每次使用命令行操作,那简直要奔溃了,太麻烦而且还容易出 ...
- 关于windows服务的编写/安装/与调试
前注: 首先,这篇文章是从网上转过来的,因为最近有个项目,需要编写一个Windows Service来定时执行程序,网上很容易找到了这篇文章,大概看了一下,文章讲的还是很详细的.不过这篇文章应该是.n ...
- C# Windows服务创建安装卸载
一.创建Windows服务 使用VS创建一个新的windows服务应用程序 创建完成之后 二.相关配置 修改Service1名称为StartService(可以不改,自行选择) 添加安装程序并修改配置 ...
- windows服务的创建、安装和调试
1.创建 windows服务 项目 文件 -> 新建项目 -> 已安装的模板 -> Visual C# -> windows ,在右侧窗口选择"windows 服 ...
随机推荐
- 13.QT多窗口切换list
Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) { ui->setupUi(this); list = ...
- <video> controlsList
Audio/Video Updates in Chrome 58 <video controls controlsList="nofullscreen nodownload norem ...
- Core Java(五)
类和对象&方法 ——类的定义 现实世界的事物 属性:人的身高,体重等 行为:人可以学习,吃饭等 Java中用class描述事物也是如此 成员变量:就是事物的属性 成员方法:就是事物的行为 ...
- gvim74 提示报错 “无法加载库python27.dll”
官方提供的gvim安装文件默认是支持python和python3两种模式的,编译时带有该选项,但并没有附带对应的运行库和运行环境.所以在本地没有安装python时直接在vim中执行 :py print ...
- .csv文件内容分隔符
CSV文件默认以英文逗号做为列分隔符,换行符作为行分隔符. 如果不提供网页形式只用命令行或二进制程序输出数据到CSV,只需要将数据段按,分割,行按\n分割,写入到一个.csv文件即可. 但有时字段 ...
- performSelector与objc_msgSend
- perform:(SEL)aSelector { if (aSelector) return objc_msgSend(self, aSelector); else return [self er ...
- 优动漫PAINT中设置横排文字
初次启动优动漫PAINT使用文本工具时,软件默认是直排文字效果,如果您想更改为横排文字,或者切换横排竖排文本,如何设置,本文做简单介绍. 在工具箱中单击“文本工具”. 在绘图页面的任意位置单击鼠标,输 ...
- CentOS 7编译安装Python3.7.X
在CentO S上通过编译安装Python3.7,添加python3软链,并使用python3. 环境 安装环境如下: Windows 10 Pro VMWare Workstation 15 Pro ...
- PAT 天梯赛练习集 L2-022. 重排链表
题目链接:https://www.patest.cn/contests/gplt/L2-022 给定一个单链表 L1→L2→...→Ln-1→Ln,请编写程序将链表重新排列为 Ln→L1→Ln-1→L ...
- node工具是是什么东西
Node到底是个啥? Node是一个服务器端JavaScript解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅 最近写 ...