`
aaron_ch
  • 浏览: 178154 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

VS2008 Windows service

    博客分类:
  • .NET
阅读更多

Study the VS2008 recently, find that it's easy to create the windows service by vs2008, and list the steps as below.

 

1.create a console project, and change the program.cs file to below also need add the System.Configuration.Install,System.ServiceProcess to reference

  

 class Program : ServiceBase
    {
        
        static void Main(string[] args)
        {
            ServiceBase.Run(new Program());
        }

        public Program()
        {
            this.ServiceName = "MQ Service";
        }

        protected override void OnStart(string[] args)
        {
            base.OnStart(args);
            Thread.Sleep(10000);
            sendmail();
            //TODO: place your start code here
        }

        protected override void OnStop()
        {
            base.OnStop();

            //TODO: clean up any variables and stop any threads
        }
        public void sendmail()
        {
            try
            {
                EmailCls ec = new EmailCls("smtp.163.com", "uid", "password");
                ec.From = "aaron_ch@163.com";
                ec.To = "xjfaaron@yahoo.com";
                ec.Subject = "test";
                ec.Body = "test body time:" + DateTime.Now.ToLongTimeString();
                //ec.Attachment = Attachment;
                ec.Send();
            }
            catch (Exception ex) { }
        }
    }

 2. Create the installer package,code as below

using System;
using System.Collections.Generic;
using System.Configuration.Install;
using System.ComponentModel;
using System.ServiceProcess;

namespace WinService
{
    [RunInstaller(true)]
    public class WinServiceInstaller : Installer
    {
        public WinServiceInstaller()
        {
            var processInstaller = new ServiceProcessInstaller();
            var serviceInstaller = new ServiceInstaller();

            //set the privileges
            processInstaller.Account = ServiceAccount.LocalSystem;

            serviceInstaller.DisplayName = "MQ Service";
            serviceInstaller.StartType = ServiceStartMode.Manual;

            //must be the same as what was set in Program's constructor
            serviceInstaller.ServiceName = "MQ Service";
            serviceInstaller.Description = "Customized MQ Service for Recieve Message from MSMQ";

            this.Installers.Add(processInstaller);
            this.Installers.Add(serviceInstaller);
        }
    }
}

 

3.Build the project, then copy the WinService.exe from bin folder, to C:\Program Files\Microsoft Visual Studio 9.0\VC  folder,

3.1 install the service to service list by: run the cmd in vs2008 cmd tools 

installutil WinService.exe

3.2 Uninstall the service from service list by installutil -u WinService.exe

Souce code see attached!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics