您的位置:首页 > 编程语言 > C#

制作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服务程序的安装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: