制作Windows服务和安装程序(C#版)
2013-07-10 17:40
274 查看
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: 在此处添加代码以启动服务。
_WindowsService.StartIni();
}
protected override void OnStop()
{
//TODO: 在此处添加代码以执行停止服务所需的关闭操作。
_WindowsService.ReleaseIni();
}
5、在安装服务后自动启动服务,注意代码中 ServiceName应与上面的一致,本例为“Service1”
private
void serviceInstaller1_AfterInstall(object sender,
InstallEventArgse)
{
try
{
ServiceControllerserviceController =
new ServiceController();
serviceController.MachineName ="127.0.0.1";
serviceController.ServiceName =" Service1";
serviceController.Start();
}
catch(Exception er)
{
//NCLogger.GetInstance().WriteException(er);
}
}
public
overridevoid Uninstall(System.Collections.IDictionary savedState)
{
try
{
ServiceControllerserviceController =
new ServiceController();
serviceController.MachineName ="127.0.0.1";
serviceController.ServiceName =" Service1";
if(serviceController.CanStop)
{
serviceController.Stop();
}
}
catch(Exception e)
{
//NCLogger.GetInstance().WriteException(e);
}
base.Uninstall(savedState);
}
制作安装程序
1、创建安装项目:
在C#中新建项目,选择其他类型项目—安装和部署—安装项目,取名“TEST_WindowsService_Setup”。
2、添加项目主输出:在安装项目中鼠标右键,选择“添加—项目输出—主输出”在项目下拉框中选择上边建立的“TEST_WindowsService_Service”服务。
3、获取依赖项:在检测到的依赖项,鼠标右键选择“刷新依赖项”,获取项目依赖项。
4、在解决方案资源管理器中右键点击安装程序,如本例的"TEST_WindowsService_Setup",选择“视图”下的“自定义操作”,系统弹出自定义操作界面,在“安装”、“提交”、“回滚”和“卸载”下右键添加“主输出文件”,编译完成后即可实现Windows服务程序的安装。
打开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: 在此处添加代码以启动服务。
_WindowsService.StartIni();
}
protected override void OnStop()
{
//TODO: 在此处添加代码以执行停止服务所需的关闭操作。
_WindowsService.ReleaseIni();
}
5、在安装服务后自动启动服务,注意代码中 ServiceName应与上面的一致,本例为“Service1”
private
void serviceInstaller1_AfterInstall(object sender,
InstallEventArgse)
{
try
{
ServiceControllerserviceController =
new ServiceController();
serviceController.MachineName ="127.0.0.1";
serviceController.ServiceName =" Service1";
serviceController.Start();
}
catch(Exception er)
{
//NCLogger.GetInstance().WriteException(er);
}
}
public
overridevoid Uninstall(System.Collections.IDictionary savedState)
{
try
{
ServiceControllerserviceController =
new ServiceController();
serviceController.MachineName ="127.0.0.1";
serviceController.ServiceName =" Service1";
if(serviceController.CanStop)
{
serviceController.Stop();
}
}
catch(Exception e)
{
//NCLogger.GetInstance().WriteException(e);
}
base.Uninstall(savedState);
}
制作安装程序
1、创建安装项目:
在C#中新建项目,选择其他类型项目—安装和部署—安装项目,取名“TEST_WindowsService_Setup”。
2、添加项目主输出:在安装项目中鼠标右键,选择“添加—项目输出—主输出”在项目下拉框中选择上边建立的“TEST_WindowsService_Service”服务。
3、获取依赖项:在检测到的依赖项,鼠标右键选择“刷新依赖项”,获取项目依赖项。
4、在解决方案资源管理器中右键点击安装程序,如本例的"TEST_WindowsService_Setup",选择“视图”下的“自定义操作”,系统弹出自定义操作界面,在“安装”、“提交”、“回滚”和“卸载”下右键添加“主输出文件”,编译完成后即可实现Windows服务程序的安装。
相关文章推荐
- 制作Windows服务和安装程序(C#版)
- C#制作 Windows 服务安装程序
- C#Windows 服务制作安装删除. 用户注销后,程序继续运行
- C#制作 Windows 服务安装程序
- C# windows服务安装程序的制作
- C# 创建、安装和卸载Windows服务程序
- .net Windows服务程序和安装程序制作
- c#开发的程序安装时动态指定windows服务名称
- windows服务安装程序制作过程【转】
- .net Windows服务程序和安装程序制作图解
- C# windows 服务添加安装程序。
- C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service
- C#实现Windows 服务的制作安装和删除[转]
- 转: 安装C# Windows服务程序
- C#Windows Service服务程序的安装/卸载、启动/停止 桌面客户端管理程序设计
- C#实现Windows 服务的制作安装和删除
- C#Windows服务工程添加安装程序的方法
- C#制作Windows service服务系列一:制作一个可安装、可启动、可停止、可卸载的Windows service
- c#开发的程序安装时动态指定windows服务名称
- 为Windows服务项目制作安装程序