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 服 ...
随机推荐
- Xcode的一些控制台命令
命令 解释 break NUM 在指定的行上设置断点 bt 显示所有的调用栈帧,该命令可用来显示函数的调用顺序 clear 删除设置在特定源文件.特定行上的断点,其用法为:clear FILENAME ...
- Redis学习笔记(八) 基本命令:SortedSet操作
原文链接:http://doc.redisfans.com/sorted_set/index.html SortedSet的数据结构类似于Set,不同的是Sorted中的每个成员都分配了一个值(Sco ...
- DB2数据库load出现SQL3508N问题
SQL3508N装入或装入查询期间,当存取类型为 "<文件类型>"的文件或路径时出错.原因码:"<原因码>".路径:"< ...
- 在应用层通过spring特性解决数据库读写分离
如何配置mysql数据库的主从? 单机配置mysql主从:http://my.oschina.net/god/blog/496 常见的解决数据库读写分离有两种方案 1.应用层 http://neore ...
- Windows环境下配置thrift编译器(VS2015)
参考官方文档:http://svn.apache.org/repos/asf/thrift/attic/trunk/compiler/cpp/README_Windows.txt 编译器( ...
- ZBrush中标准几何体与Polymesh
通过对ZBrush的学习,相信您已经对这款软件有了一定的了解,文本我们主要学习ZBrush®的3D物体标准几何体的特性和使用方法.在ZBrush中只有Polymesh(多边形网格)物体才能使用雕刻笔刷 ...
- 洛谷T44252 线索_分治线段树_思维题
分治线段树,其实就是将标记永久化,到最后再统一下传所有标记. 至于先后顺序,可以给每个节点开一个时间戳. 一般地,分治线段树用于离线,只查询一次答案的题目. 本题中,标记要被下传 222 次. Cod ...
- django patch 解决 ["'15428560000' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
__init__.py import datetime from django.apps import AppConfig from django.db.models.fields import Da ...
- sql limit 的用法
sql语句里的limit使用方法 . SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset 在我们使用查询语句的时候 ...
- C# Windows Api的一些方法 封装 以及 常用参数
using System;using System.Collections.Generic;using System.Drawing;using System.Diagnostics;using Sy ...