Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

c# - how do i make application run as a service?

Tags:

c#

i have a simple c# application that needs to run as service. how do i make it run as a service instead of just as an executable?

like image 481
Alex Gordon Avatar asked Jul 12 '10 20:07

Alex Gordon


People also ask

What C is used for?

C programming language is a machine-independent programming language that is mainly used to create many types of applications and operating systems such as Windows, and other complicated programs such as the Oracle database, Git, Python interpreter, and games and is considered a programming foundation in the process of ...

What is C full form?

Originally Answered: What is the full form of C ? C - Compiler . C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC PDP-11 computer in 1972.

How old is the letter C?

The letter c was applied by French orthographists in the 12th century to represent the sound ts in English, and this sound developed into the simpler sibilant s.

What is C in C language?

What is C? C is a general-purpose programming language created by Dennis Ritchie at the Bell Laboratories in 1972. It is a very popular language, despite being old. C is strongly associated with UNIX, as it was developed to write the UNIX operating system.


1 Answers

Visual C# 2010 Recipies has an example in it which will show you exactly how to do this, which I've tried using VS 2008 and .NET 3.5.

It amounts to this:

  1. Create a new "Windows Service" application in Visual Studio
  2. Port your application's source into the service's execution model, AKA your Main function becomes part of an event handler triggered by a timer object or something along those lines
  3. Add a Service Installer class to your Windows Service project - it'll look something like this code snippet below:

    [RunInstaller(true)]
    public partial class PollingServiceInstaller : Installer
    {
        public PollingServiceInstaller()
        {
            //Instantiate and configure a ServiceProcessInstaller
            ServiceProcessInstaller PollingService = new ServiceProcessInstaller();
            PollingService.Account = ServiceAccount.LocalSystem;
    
            //Instantiate and configure a ServiceInstaller
            ServiceInstaller PollingInstaller = new ServiceInstaller();
            PollingInstaller.DisplayName = "SMMD Polling Service Beta";
            PollingInstaller.ServiceName = "SMMD Polling Service Beta";
            PollingInstaller.StartType = ServiceStartMode.Automatic;
    
            //Add both the service process installer and the service installer to the
            //Installers collection, which is inherited from the Installer base class.
            Installers.Add(PollingInstaller);
            Installers.Add(PollingService);
        }
    }
    

Finally you'll use a command line utility to actually install the service - you can read about how that works here:

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/d8f300e3-6c09-424f-829e-c5fda34c1bc7

Let me know if you have any questions.

like image 117
Aaronontheweb Avatar answered Sep 18 '22 01:09

Aaronontheweb