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

时间:2022-02-17 06:12:16

环境: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中

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

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