C#Windows Service程序的创建安装与卸载
C#Windows Service程序的创建安装与卸载
一、开发环境
操作系统:Windows7x64 sp1 专业版
开发环境:Visual studio 2013
编程语言:C#
.NET版本: .NET Frmework 4.0
二、创建Windows Service程序
1.新建一个windows Service程序起名为ServiceDemo
2.修改Service1.cs类为ServiceDemo
3.默认可以看到下面代码重写一个OnStart()和OnStop()方法
protected override void OnStart(string[] args)
{
} protected override void OnStop()
{
}
4.在启动(onstart)和停止(OnStop)中加入几行测试代码
/// <summary>
/// 启动
/// </summary>
/// <param name="args"></param>
protected override void OnStart(string[] args)
{
string startStr = string.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), "程序启动");
Log(startStr);
} /// <summary>
/// 停止
/// </summary>
protected override void OnStop()
{
string stopStr = string.Format("{0}-{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), "程序停止");
Log(stopStr);
}
void Log(string str)
{
string path = "D://logFile.log";
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine(str);
}
}
5.双击ServiceDemo进入ServiceDemo设计界面在空白位置右键-->菜单添加安装程序,如下图所示
6.可以看到设计界面出现俩个组件
7.修改这俩个组件部分属性
serviceInstaller1的属性窗口将Servicename修改为ServiceDemo,Description改为Service Demo Program,StartType 为Manual
修改serviceProcessInstaller1属性将Account改为localSystem如下图所示
8.鼠标右键编译生成程序可以看到生成程序的具体目录
9.这里一个Windows service程序就编写完毕。
三、安装该服务程序
1.管理员身份运行命令终端(记住是管理员身份)
打开命令终端程序
2.安装服务
installutil.exe filename
卸载服务:
installutil.exe /u filename
安装服务程序
因为Installutil.exe程序在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ 目录下,需要通过cmd命令 "cd" 切换目录。v4.0.30319是编译该Windows Service程序的版本(自己选择对应的版本)
输入如下所示:(根据自己程序的路径自己选择,输入完毕回车)
安装完成提示
安装完成后在计算机->管理->服务列表中就可以看到刚才编写的服务程序
可以手动右键启动\停止程序
卸载服务
只需要在installutil.exe 后面加 /u 即为卸载命令
根据前面程序的功能启动或者停止会有一个日志记录在D盘查看如下
当然也可以不用命令行操作,单独开发一个客户端程序管理详细见下一篇博客
C#Windows Service服务程序的安装/卸载、启动/停止客户端程序设计
源代码工程文件下载
参考博客:https://www.cnblogs.com/mq0036/p/7875864.html
C#Windows Service程序的创建安装与卸载的更多相关文章
- C# Windows Service服务的创建和调试
前言 关于Windows服务创建和调试的文章在网络上的很多文章里面都有,直接拿过来贴在这里也不过仅仅是个记录,不会让人加深印象.所以本着能够更深刻了解服务项目的创建和调试过程及方法的目的,有了这篇记录 ...
- C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载(极速,简洁)
本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...
- C#创建安装、卸载部署程序
分享3: 需求:对已经开发的应用程序进行安装封装操作,即创建安装.卸载部署程序: 分析:程序的开发是为了在不同的人在不同的机器上使用,为了使不同机器使用该软件就需要见程序安装包,并且保证安装包中必须包 ...
- Windows环境下使用.bat安装和卸载服务
一.Windows环境下使用.bat安装和卸载服务 win7环境 例子中“”Valwell.Dms.HttpService.exe“”为服务程序名称 安装服务 %SystemRoot%\Microso ...
- VS2010 创建 windows service 程序
参考网上保护眼睛程序,自写程序如下. 1.创建一个名词为“CareEyeService”,类型为“WindowsService”的应用程序. 自动生成代码如下图: 2.修改ServiceCareEye ...
- C#中级-Windows Service程序安装注意事项
一.前言 这周除了改写一些识别算法外,继续我的Socket服务编写.服务器端的Socket服务是以Windows Service的形式运行的. 在我完成Windows Service编写后,启动服务时 ...
- 创建一个Windows Service 程序
1.新建Windows项目,选择"Windows服务"类型的项目. 2.在生成的Service1.cs中代码中写你需要的代码,如下: using System; using Sys ...
- .NET开发Windows Service程序 - Topshelf
在实际项目开发过程中,会经常写一些类似定时检查,应用监控的应用.这类应用在windows平台通常都会写成window service程序. 在百度上搜索一下'c#开发windows service', ...
- 使用Windows Service Wrapper快速创建一个Windows Service
前言 今天介绍一个小工具的使用.我们都知道Windows Service是一种特殊的应用程序,它的好处是可以一直在后台运行,相对来说,比较适合一些需要一直运行同时不需要过多用户干预的应用程序,这一类我 ...
随机推荐
- c语言单片机中断服务程序
#include <reg52.h> #define uchar unsigned char #define uint unsigned int uint count; void dela ...
- TDG今日成立!
大家好我们是来自土1603-3的佟天宇.杨子浩.吴强.周泊辰(从左到右) 我们的团队名称是 TDG队 我们的口号是:“Legends Never Die!” 队员简介: 佟天宇 个性:儒雅随和 特长 ...
- es6新增的数组遍历方式
1.some方法 1)some() 方法测试是否至少有一个元素通过由提供的函数实现的测试. 2)参数列表: arr.some(callback(element[, index[, array]])[, ...
- Vmware下mint os的安装
在vmware 11中,mint倒是很好安装.直接读取iso文件,会自动进入一个类似WindowsPE的安装系统,直接双击开始安装就好,比较傻瓜化. 但是安装好了,字体太小,看着很不舒服,于是就倒腾V ...
- Nginx的https配置记录以及http强制跳转到https的方法梳理
一.Nginx安装(略)安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块.Nginx安装方法: 1 2 # ./con ...
- wsdl 生成 java 代码 java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例 推荐使用, 并且设置了 utf8
推荐使用, 并且设置了 utf8 wsdl2java -p cn.smborderservice -encoding utf-8 -d f:\logink\src -all -autoNameRes ...
- Apache Kafka 快速入门
概述 Apache Kafka是一个分布式发布-订阅消息系统和强大的队列,可以处理大量的数据,将消息从一个端点传递到另一个端点.Kafka适合离线和在线消息消费,Kafka消息保存在磁盘上,并在集群内 ...
- Mac上搭建ELK
转载自我的个人博客:http://blog.ywheel.cn/post/2017/03/04/setup_elk_on_mac/ 最近的项目需要对文本数据各字段进行快速检索.组合查询.模糊查询,在架 ...
- 【PMP】项目整合管理
项目整合的七个过程组: 制定项目章程 制定项目管理计划 指导语管理项目工作 管理项目知识 监控项目工作 实施整体变更控制 结束项目或阶段 1.制定项目章程 1.1 定义 制定项目章程是编写一份正式批准 ...
- Centos7.4别名设置提高工作效率
一.打开 .bashrc文件 1.位置:~(cd ~)目录下 2.cat .bashrc 原文件内容如下: # .bashrc # User specific aliases and function ...