制作Windows服务和安装程序(C#版)
http://blog.sina.com.cn/s/blog_5f4ffa170100vt2b.html
1、创建服务项目:
打开VS 2005 编程环境,在C#中新建Windows服务程序
2、将安装程序添加到服务程序:
在服务项目中双击新建的服务类,默认情况下是Service1.cs,出现Service1.cs设计界面,鼠标右键选择“添加安装程序”,系统自动生成项目安装类ProjectInstaller.cs,安装类中添加了两个安装组件:ServiceProcessInstall和ServiceInstall,并且服务的属性被复制到组件中。
3、设置服务属性:
① 设置登录用户:将ServiceProcessInstaller类的Account属性改为LocalSystem,这样服务可以在任意用户登录系统系统时,自启动服务。
② 设置服务启动方式:单击ServiceInstaller组件将StartType属性设置为Automatic(随系统启动)
③ 设置Windows服务名:设置ServiceInstaller组件中的ServiceName的属性为服务的名称,如上图所示的“Service1”
④ 设置服务描述、服务名称:在ServiceInstaller组件中设置Description和DisPlayName的值分别显示服务的描述和服务名称。
4、编程实现服务程序功能的启动、停止:打开Service1.cs类的代码,在服务启动、停止方法中分别添加服务程序的启动、停止需对应的功能代码。
protected
override void OnStart(string[] args)
{
// TODO:在此处添加代码以启动服务。
_ProcessParametersMaching.StartIni();
}
protectedoverride
void OnStop()
{
// TODO:在此处添加代码以执行停止服务所需的关闭操作。
_ProcessParametersMaching.ReleaseIni();
}
注意: 在服务项目中添加逻辑处理类、数据处理类,通过统一的方法去调用,如StartIni()和ReleaseIni()。
制作安装程序
1、创建安装项目:
在C#中新建项目,选择其他类型项目—安装和部署—安装项目,取名“HMCX_ProcessParametersMaching_Setup”
2、添加项目主输出:在安装项目中鼠标右键,选择“添加—项目输出—主输出”在项目下拉框中选择上边建立的“HMCX_ProcessParametersMaching_Service”服务。
3、获取依赖项:在检测到的依赖项,鼠标右键选择“刷新依赖项”,获取项目依赖项。
4、在解决方案资源管理器中右键点击安装程序,如本例的"HMCX_ProcessParametersMaching_Setup",选择“视图”下的“自定义操作”,系统弹出自定义操作界面,在“安装”和“卸载”下右键添加“主输出文件”,编译完成后即可实现Windows服务程序的安装。
至此,Windows服务和安装程序(C#版)建立完毕,可以把该服务部署到系统中了
制作Windows服务和安装程序(C#版)的更多相关文章
- 为C# Windows服务添加安装程序
最近一直在搞Windows服务,也有了不少经验,感觉权限方面确定比一般程序要受限很多,但方便性也很多.像后台运行不阻塞系统,不用用户登录之类.哈哈,扯远了,今天讲一下那个怎么给Windows服务做个安 ...
- (转)为C# Windows服务添加安装程序
本文转载自:http://kamiff.iteye.com/blog/507129 最近一直在搞Windows服务,也有了不少经验,感觉权限方面确定比一般程序要受限很多,但方便性也很多.像后台运行不阻 ...
- C# VS2010 windows服务的安装
可能是太过于懒惰的原因,研究个windows 服务的安装程序都花了大半天时间.在网上看了一些示例,大部分都言过其实,把过程搞得太过复杂,老是需要去研究如何利用InstallUtil.exe及其参数.事 ...
- .net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)
.net Windows服务程序和安装程序制作 最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作 ...
- .net Windows服务程序和安装程序制作图解
最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作不成功,可能是开发环境或项目配置的不同,这里把自 ...
- C# 制作Windows服务安装包
C# 制作Windows服务安装包 这两天公司要用C#写一个windows服务,做成安装安装包.制作的过程中遇到了一些问题,写完之后总结一下.如果以后在用到的话可以可以参考一下,而且由于原来没有做 ...
- Quartz任务调度 服务日志+log4net打印日志+制作windows服务
引言 现在许多的项目都需要定时的服务进行支撑,而我们经常用到的定时服务就是Quartz任务调度了.不过我们在使用定时Job进行获取的时候,有时候我们就需要记录一下自定义的日志,甚至我们还会对执行定时J ...
- WCF 下的windows服务的安装卸载
安装:启动vs2010(如果是win2008要以管理员来启动)命令:installutil demo.exe 卸载:先在服务里停止这个服务,然后启动vs2010(如果是win2008要以管理员来启动) ...
- windows服务与自启动程序的区别(转载)
转载:http://blog.csdn.net/anddy926/article/details/8464142 在客户端服务器项目实践中,作为服务端必须保持程序的24小时不间断运行,需要做一个监控, ...
随机推荐
- 关于:org.apache.catalina.connector.ClientAbortException及getOutputStream() has already been called for this response的异常处理
1.异常场景: 在进行将数据用word导出或者Excel导出的时候.抛出的异常getOutputStream() has already been called for this response 导 ...
- erlang学习笔记
安装 Ubuntu Server上: sudo apt-get install erlang 如果安装时下载 太慢,可手工下载deb包( esl-erlang_16.a-rc1_ubuntu_prec ...
- Java ArrayList【笔记】
Java ArrayList[笔记] ArrayList ArrayList基本结构 ArrayList 整体架构比较简单,就是一个数组结构 源码中的基本概念 index 表示数组的下标,从 0 开始 ...
- 【笔记】KNN之分类准确度
分类准确度 分类准确度 以sklearn中的手写数字datasets.load_digits为例,其是8*8的图形,具有64个特征值,类别由0到9 我们挑选出666这个图形,将其可视化 X = dig ...
- docker 安装prometheus和grafna
一.拉取镜像 docker pull prom/prometheus 二.配置 sudo mkdir /etc/prometheus/ sudo vim /etc/prometheus/prometh ...
- Redis 实战篇:巧用Bitmap 实现亿级海量数据统计
在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合. 常见的场景如下: 给一个 userId ,判断用户登陆状态: 显示用户某个月的签到次数和首次签到时间: 两亿用户最近 ...
- SQL 练习11
查询至少有一门课与学号为" 01 "的同学所学相同的同学的信息 SELECT * from Student WHERE SId in (SELECT SId from sc WHE ...
- 真.OI宝典
记得取模%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- vs2019编写c++的静态链接库并自己使用
参考网址:https://blog.csdn.net/flame333/article/details/108346305 静态链接库1.新建一个静态库项目,其中有两个头文件,两个源文件 其中比较重要 ...
- TCP三次握手中SYN,ACK,Seq含义
TCP(Transmission Control Protocol)传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标示 ...