环境:vs2013,win7
参考:
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中
安装完成后就可看到服务了
时间: 2024-12-24 20:56:53