Windows Serivce服务实现过程和打包安装

Posted 黑峰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows Serivce服务实现过程和打包安装相关的知识,希望对你有一定的参考价值。

 

 

 

环境:vs2013,win7

参考:

Windows服务的快速搭建与调试(C#图解)

.Net实现Windows服务安装完成后自动启动的两种方法

C# 生成windows 服务打包程序

1、新建项目Windows Service项目。

2、服务安装后自动启动。

右键添加安装程序

要设置服务的一些属性。设置运行服务的账号类型为本地账户。

设置服务名称,设置启动方式为自动启动。

注意:Display Name:是设置看到的服务名称。在计算机》管理》服务,看到的是这个。

Service Name :是设置实际的服务名称。在Window 任务管理器里面看到的是这个。

在任务管理器进程里看到的是Windows Service项目的名称。

 

在ProjectInstaller类中,覆盖父类Commit方法

代码如下:注意名称,此名称要与Windows Service设置的名称一样,在serviceInstaller1右键属性里面设置

 

 1   [RunInstaller(true)]
 2     public partial class ProjectInstaller : System.Configuration.Install.Installer
 3     {
 4         public ProjectInstaller()
 5         {
 6             InitializeComponent();
 7         }
 8 
 9         public override void Commit(IDictionary savedState)
10         {
11             base.Commit(savedState);
12             ServiceController sc = new ServiceController("Service1");
13             if (sc.Status.Equals(ServiceControllerStatus.Stopped))
14             {
15                 sc.Start();
16             }
17         }
18     }

 3、打包为exe文件。

vs2013默认没有打包项目,需要下载安装。

Microsoft Visual Studio 2013 Installer Projects

安装完后,解决方案右键添加新项目,Setup Project

 

 

Add ,项目输出

选择你的Windows service项目

在打包项目右键,view,自定义操作

每个都添加 自定义操作

 

最终效果

 最后,就可以生成安装包了,在bin目录下Debug中

 

 安装完成后就可看到服务了

 修改默认安装路径:

以上的默认安装路径为:C:\\Program Files (x86)\\Microsoft。如果要修改默认安装路径,在这里修改

 

以上是关于Windows Serivce服务实现过程和打包安装的主要内容,如果未能解决你的问题,请参考以下文章

实现自己的HAL-6 serivce 和aidl层的代码

centos7设置服务为开机自启动(以crond.serivce为例)

K8S-Serivce的原理和实践

K8S-Serivce的原理和实践

centos7设置服务为开机自启动(以crond.serivce为例)

将MySQL集成打包成安装程序,实现一键安装