About Windows Services
Previous Topic  Next Topic 


In its simplest form a Windows service is a program or process that performs a specific function to support other programs or provide specific independent system functionality. These range from device drivers through to interactive applications. A service (or more correctly a service application) conforms to the interface rules of the Service Control Manager (SCM).


When you install Windows on any computer it will immediately be running multiple services. These services provide core operating system and tool functionality to the computer. In addition to these core services, you might also be running additional services created by other applications. There are a slew of Microsoft products, as well as other third party products, that install services on your computer. Examples include Microsoft Exchange, Microsoft SQL, various backup programs, and enterprise management applications.


Services are typically configured and managed via the Service Control Panel Applet (services.msc):



How Do Services Differ From Regular Applications?


The Service Control Manager (SCM) is a specialised process that is started at system boot. It is responsible for the following:



Service applications are launched by the SCM and interact directly with it via a series of specialised Win32 API calls. Regular applications do not contain these hooks and hence cannot be launched nor controlled via the SCM directly.


Consequently, you may want to convert your application to a service with FireDaemon Pro if you have a requirement for it to be run at system boot by the SCM or require a level of fault tolerance that is not achievable by logging onto your machine and running it by hand.


Many applications are designed to be run manually or automatically from the Windows Start Menu / Startup folder. Many are designed to be run across other Windows Operating System platforms such as Windows 98 or ME where the concept of a service is foreign. Consequently, applications of this nature need to be converted if they are to be run as a service.


You can find more out about Windows Services by consulting this Microsoft MSDN Library article.


So How Does FireDaemon Pro Convert My Application?


Convert is probably a misnomer. FireDaemon Pro provides an intelligent interface or wrapper between the commands issued by the Service Control Manager (SCM) and your application. It does not modify your application in any way. FireDaemon Pro monitors your application for you plus provides a variety of additional features that allow you to fine tune how your application starts, what to do if and when it stops and how to interact with the rest of the system and environment.


You should always remember that if you are attempting to run your application as a service with FireDaemon Pro then it was probably never designed to run in this context. Consequently, the behavior of your application when run as a service may not be identical to when it is run by hand. For example, your application might not appear on the desktop or system tray; it might terminate when you logoff; it might not have sufficient access to some system resources, files in the file system or on the network. Most of these issues can be overcome by experimentation and fine tuning. However, some applications may just not work as expected at all.