A service is another type of background program.
What are services?
Services are processes that can run without a user being logged on. They support controls or messages like starting and stopping that are sent from the Service Control Manager. They can start automatically on system startup or manually by an application.
What are services used for?
Services are typically used for software that needs to run all the time such as antivirus and to provide functionality to local and network applications. Another feature of services is that they are usually not tied to a single user but to the machine. For most standalone viewer programs like our widget viewer, there is no need for a separate service. A common type of service is an updater service for an application. Last time we discussed alternative solutions.
If a service is needed for some functionality how can the effect on a user’s machine be limited?
First it might make sense to see if there is not an already built-in service that provides similar functionality that can be used. Another way is to provide a way to turn of the feature that requires the service. Going back to our widget viewer example, one feature it may offer is the ability to share widgets with people over the network which require a service for this. If a user does not want that functionality it would make sense to disable the service as well. Another way to be more efficient when using services is to combining them into a single process. Also it makes sense to have the service only start when needed or use trigger start services in Windows 7.