Windows服务程序和安装程序制作

时间:2024-01-14 20:59:26

  转:http://www.cr173.com/html/15350_1.html

  本文介绍了如何用C#创建、安装、启动、监控、卸载简单的Windows Service 的内容步骤和注意事项。

一、创建一个Windows Service

1)创建Windows Service项目

Windows服务程序和安装程序制作

Windows服务程序和安装程序制作

2)将.net环境改成2.0

Windows服务程序和安装程序制作

3)对Service重命名

  将Service1删除,重新添加一个服务,这里我们命名为ServiceTest。

Windows服务程序和安装程序制作

二、创建服务安装程序

1)添加安装程序

Windows服务程序和安装程序制作

Windows服务程序和安装程序制作

  之后我们可以看到上图,自动为我们创建了ProjectInstaller.cs以及2个安装的组件。

2)服务名称

  ServiceName的值为服务发的名称

Windows服务程序和安装程序制作

3)修改安装权限

  右键serviceProcessInsraller1,选择属性,将Account的值改为LocalSystem。

Windows服务程序和安装程序制作

三、写入服务代码

1)打开ServiceTest代码

  右键ServiceTest,选择查看代码。

2)写入Service逻辑

  添加如下代码:

namespace WindowsServiceTest
{
public partial class ServiceTest : ServiceBase
{
public ServiceTest()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
} protected override void OnStop()
{
}
}
}

四、服务的安装

  服务安装和卸载要用到.net平台下面的一个文件InstallUtil.exe,在不同的.net版本项目下面要使用不同的InstallUtil,所以要注意项目.net的版本和目标机器的版本是否一致。在.net 2.0的环境下面InstallUtil.exe文件目录是:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallUtil.exe

  在命令提示符中使用下面的格式去安装和卸载服务,FilePath上面服务的bin下面的exe文件。安装成功后,服务的名称为:ServiceTest。

安装:
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallUtil.exe  FilePath/xx.exe

Windows服务程序和安装程序制作

卸载:
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallUtil.exe -u FilePath/xx.exe

Windows服务程序和安装程序制作

注:

  一个服务首先是一个Win32可执行程序,或者是是rundll32.exe来运行一个.dll的方式形成的进程。跟普通应用程序不一样,如打开WORD,有一个界面出来,但服务没有用户界面,也不能通过直接双击运行相应的.exe程序来运行。

  为Windows服务程序没有用户界面,所以基于用户界面的API函数对其是没有多大的意义。为了能使一个Windows服务程序能够正常并有效的在系统环境下工作,程序员必须实现一系列的方法来完成其服务功能。Windows服务程序的应用范围很广,典型的Windows服务程序包含了硬件控制、应用程序监视、系统级应用、诊断、报告、Web和文件系统服务等功能。

  服务应用程序在不同于登录用户的交互区域的窗口区域中运行。窗口区域是包含剪贴板、一组全局原子和一组桌面对象的安全对象。由于 Windows 服务的区域不是交互区域,因此服务应用程序中引发的对话框将是不可见的,并且可能导致程序停止响应。同样,错误信息应记录在事件日志中,而不是在用户界面中引发。所以如果希望在服务中弹出提示框是不现实的,可以用托盘程序来代替服务。