A Windows service is basically a continuously running executable that performs defined tasks in the background without the user having to provide any input. Services are running all the time and even though you may not notice them, they do everything from telling you the latest updates are available for your PC to checking that the time on your computer matches the Internet time.
Unfortunately, Windows services are also the cause of much debate. If you search online, you’ll find hundreds of articles tell you how you can speed up your computer by disabling various “useless” Windows services. In the end, there are a few legitimate cases where you might want to disable a 3rd-party service, but otherwise they are essential for Windows to function properly and should not be disabled.
How Windows Services Work
Creating a Windows service is a fairly easy process. Anyone who can code a normal Windows application can also create a Windows service. Actually, you can create an application that can be installed as a Windows service.
Windows services all start as Microsoft Visual Studio projects. A programmer will write code that will define what commands can be sent to a service and what actions should be taken when the commands are received. For example, starting, stopping, resuming or pausing a service are some of the most common commands.
Once the application is built, the service can be installed using the command line or by using one of the deployment features of Visual Studio. A service is very different than a traditional Windows program. Here are a couple of major differences:
1. There is no way for a Windows service to interact with a logged-in user via prompts, dialog boxes, or any other GUI element.
2. Windows services start before the user logs onto a computer.
3. Windows services run in their own security context, meaning they can have more system privileges than the logged in user.
4. Once started, a Windows service runs indefinitely until it is either stopped/paused or the computer is shut down.
There are three special accounts in Windows that exist just for services: LocalService,NetworkService and LocalSystem. If you look at the screenshot above, you’ll notice that those are the three that show up for pretty much all of the services running in Windows. What’s the difference?
LocalService – This is a predefined local account that has minimum privileges on the system and will give anonymous credentials on the network. This account does not have a password and therefore it doesn’t matter what you type into the password field when using this account.
NetworkService – This service acts as the computer on the network. Again, this account does not have a password either. When connecting to remote servers, the NetworkService will provide the computer’s credentials to the server.
LocalSystem – This account has extensive privileges on the system and can also act as the computer over the network. It basically has the same right as the built-in Administrators. This account also does not have a password. This is the only account that is not associated with any logged-on user.
Myth – Disabling Services Increases Computer Performance
As I mentioned earlier, disabling Windows services is normally a bad idea under most circumstances. That is not to say you should never disable a service. There are a lot of third-party non-Microsoft services that may be taking up extra resources on your system that you might not been.
The only downside to disabling those services is that you end up with something not working about a week or two later and then tear your hair out because you forgot about the services that you disabled. For example, I once had disabled the Adobe Flash Player Update Service because I figured I would updated Flash myself whenever I felt like it. Unfortunately, a few weeks later there was a security hole in the current version of flash and I just kept using it because I didn’t realize that there was an updated version with a security fix.
Also, if you look at the resources most services take up on your system using a tool like ProcessExplorer, you’ll find that unless the service is activated for some reason (maybe to download updates, etc), they leave a very small footprint in terms of memory and CPU use.
You’ll also notice that a lot of services are in the Stopped status. So even though you may have a lot of services installed, there are only a small subset of those services that are actually running.
Lastly, Windows itself has also gotten smarter. In Windows 8, for example, if you install any third-party anti-virus program, Windows Defender will automatically be disabled. Sweet! No need to go disabling it yourself.
Managing Windows Services
The first place most people know to go to manage services in Windows is MSCONFIG. If you click on start, type in MSCONFIG and go to the services tab, you’ll get a full list of all services installed on your machine.
You can check the Hide all Microsoft services box and then see only third-party services. Again be very careful when unchecking stuff here. A lot of people will tell you just to uncheck everything and your computer will boot up super fast. That’s true, but half the hardware and software on your system wont’ work either.
If you’re really keen on disabling a third-party service (like one of those updater-type ones), do a Google search and do a little research before you just uncheck it. Using this tool is great for troubleshooting problems in Windows, but it’s not the best way to increase computer performance.
You’re probably familiar with the first screenshot in this guide because it’s the second most common place to manage Windows services. Open Control Panel, then Administrative Tools and click on Services. Here you can double-click on any service and you’ll have four tabs: General, Log on, Recovery and Dependencies.
On the General tab, you can start, stop, pause and resume the service. If anything is greyed out, it probably means the service does not support that command.
You can also see the exact path to the executable that is being run and you can change theStartup type (Automatic, Automatic (Delayed Start), Manual, Disabled). Automatic (Delayed Start) is a new option starting in Windows Vista that basically delays the start of the service so that Windows can boot faster to the desktop. If you check out the Windows Update service, for example, you’ll notice that it’s default setting is Delayed Start.
In addition to delaying the loading of the service until after all the normal Automatic services are started, the delayed start services are loaded with the lowest priority for disk I/O and CPU usage, which means they won’t slow your system down in order to start up. The Log On tab is where you choose one of the special accounts or choose a user-created account for the service to run under. Changing the account that a service uses is not recommended at all unless it’s a service you created yourself.
On the Recovery tab, you can specify what should happen if the service were to crash for example. By default, most Windows services have it set to Take no action, but there are some like the Print Spooler service that are set to automatically restart, which is good since you don’t want to lose your ability to print just because the print spooler service crashes once.
The last tab basically shows you which services the current service depends on and which services are dependent on the current service. A lot of times if you have to restart one service, you will have to restart multiple services since they are all dependent on each other.
Windows services are essential for Windows to run properly and disabling services should be done with extreme care. It should only be done by someone who understands processes and can run and analyze tools like ProcessExplorer and Autoruns. You should also always do a bit of Googling to make sure what you’re doing is not going to mess something up. The worst thing you can do is read an article by random tech guy, disable a bunch of services and then go back to using your computer like normal.
Eventually, you’ll run into some problem and it’ll be very hard to figure out what the root cause is. Having a few extra processes running on your system with current hardware these days is really not an issue. Unless there is a very specific and urgent need, do not disable services in Windows.