C#代码安装、卸载、监控Windows服务
C#编写Windows服务之后都不可避免的需要安装,卸载等操作。而传统的方式就是通过DOS界面去编写命令,这样的操作方式无疑会增加软件实施人员的工作量,下面就介绍一种简单、高效、快速方便的方式。
1.安装Windows服务(需引用程序集 System.Configuration.Install)
using (AssemblyInstaller assemblyInstaller = new AssemblyInstaller())
{
assemblyInstaller.UseNewContext = true;
//获得当前运行程序的路径,如:
//assemblyInstaller.Path = Assembly.GetExecutingAssembly().Location;
assemblyInstaller.Path = @"E:\Project\StorageSystem\trunk\2.0\MultiTaskService\bin\Release\MultiTaskService.exe";
assemblyInstaller.Install(null);
assemblyInstaller.Commit(null);
}
2.卸载Windows服务(需引用程序集 System.Configuration.Install)
using (AssemblyInstaller assemblyInstaller = new AssemblyInstaller())
{
assemblyInstaller.UseNewContext = true;
//获得当前运行程序的路径,如:
//assemblyInstaller.Path = Assembly.GetExecutingAssembly().Location;
assemblyInstaller.Path = @"E:\Project\StorageSystem\trunk\2.0\MultiTaskService\bin\Release\MultiTaskService.exe";
assemblyInstaller.Uninstall(null);
}
3.检测并操作windows服务(需引用程序集 System.ServiceProcess)
ServiceController[] services = ServiceController.GetServices();
foreach (var item in services)
{
if (item.ServiceName == "MultiTaskService")
{
Console.WriteLine("服务名:" + item.ServiceName + ",状态:" + item.Status);
//此处可以开始服务,停止服务等
//item.Start();
//item.Stop();
}
}

涛哥理解:有了上面几段代码,我们就可以自己编写一个Windows应用程序来管理我们的服务,为软件实施人员提供非常大的帮助。
C#代码安装、卸载、监控Windows服务的更多相关文章
- 安装MongoDB(做成Windows服务)并加载C#驱动程序
一 Mongodb简介: 通过查询网上的一些信息来介绍一下Mongodb的优势:MongoDB是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代MySQL.在使用Mo ...
- 安装redis以windows服务形式
安装redis以windows服务形式 安装redis以windows服务形式 redis windows windows 服务 以前跑redis,老是要开一个命令行窗口,一旦关闭,redis服务就挂 ...
- Mysql数据库一:安装与创建windows服务
Mysql数据库安装与创建windows服务 1.先下载压缩包(mysql-5.7.18-winx64.zip)移动到对应目录(如D:\software)后解压. 2.安装服务端: mysqld:带d ...
- 【源码下载】分享一个支持自安装自卸载的Windows服务
NetworkComms网络通信框架序言 这个程序来自 www.codeproject.com 具体的出处就忘了 服务器端的程序,我一般采用在windows服务中调用打开的方式,这样既能看到界面,又 ...
- .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)
.net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...
- 第十三篇 一个安装、管理windows服务的桌面程序
在网上看到一个修改程序入口的程序去把windows 服务修改成控制台的程序,然后利用控制台的程序把服务安装和管理,也想起自己原来也写了一个对windows 报务管理的程序,不过是winform的. ...
- VS创建、安装、调试 windows服务(windows service)
1.创建 windows服务 项目 文件 -> 新建项目 -> 已安装的模板 -> Visual C# -> windows ,在右侧窗口选择"windows 服 ...
- C# VS 2010创建、安装、调试 windows服务(windows service)
在一个应用程序中创建多个 windows 服务的方法和 1083 的解决办法 错误解决方案 ------------------------------------------------------ ...
- zabbix 3.0.4 监控windows 服务
下载客户端 http://www.zabbix.com/download.php http://www.zabbix.com/downloads/3.0.4/zabbix_agents_3.0.4.w ...
随机推荐
- Intermediate Python for Data Science learning 2 - Histograms
Histograms from:https://campus.datacamp.com/courses/intermediate-python-for-data-science/matplotlib? ...
- 20154312 曾林 ExpFinal CTF Writeup
0.写在前面 1.不合理的验证方式 2.加密与解密的对抗 3.一个SQL引发的血案 4.管理员的诟病 5.备份信息的泄露 6.svn信息泄露 7.coding 8.平衡权限的威胁 9.文件上传的突破 ...
- JDBC报错记录
用JDBC连接oracle时 有如下问题: 问题一.java.lang.ClassNotFoundException: oracle.jdbc.driver.oracledriver 解决: 可以在环 ...
- Linux中Postfix基于SSL收发邮件(九)
其中在整个一套邮件服务器中,默认信息传输都是明文传输的,所以这个在安全性上面就不是那么好.但是如果说一封邮件从发生到对方接受想要全程做到加密处理这个也是很难的.因为一封邮件从一个域转到另外一个域服务器 ...
- 华为C/C++笔试题&答案
1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问 ...
- mysql explicit_defaults_for_timestamp 变量的作用
mysql 中有这样的一个默认行为,如果一行数据中某些列被更新了,如果这一行中有timestamp类型的列,那么么这个timestamp列的数据 也会被自动更新到 更新操作所发生的那个时间点:这个操作 ...
- Python3 tesseract加载chi_sim异常停止工作
Python3 tesseract加载chi_sim异常停止工作 原因: chi_sim.traineddata 和 tesseract3.0.2 版本不一致: 解决方案: 下载tesseract3. ...
- 简单的Django实现图片上传,并存储进MySQL数据库 案例——小白
目标:通过网页上传一张图片到Django后台,后台接收并存储进数据库 真是不容易!!这个案例的代码网上太乱,不适合我,自己摸索着写,终于成功了,记录一下,仅供自己参考,有的解释可能不对,自己明白就好, ...
- Node-webkit 安装使用npm安装模块方法
原文链接:http://jingyan.baidu.com/article/5225f26b5aaa20e6fa0908a6.html package.json可以放在软件根目录下,也可以放在项目目录 ...
- Android实践项目汇报(一)
# 我要做的是Google天气客户端 一.Need(需求): 1. 功能性需求分析 天气预报客户端,顾名思义就是为用户提供实时准确的天气信息,方便用户出行生活.根据用户日常需求,软件实现后所达到的功能 ...