Fixing Error 5: Access Denied when Starting a Windows Service

After creating your own Windows Service, you may encounter the following error:

Sounds serious, but it’s not. It’s complaining that executable can’t be started because the account under which the service is running does not have access. When you installed the Windows Service, you had to choose a context like Local System, Local User, Network User, or something custom. In order to fix this issue, you need to give execute permissions to the user you chose. For example, NETWORK SERVICE account may need permission if that’s the context you chose to run the service.

Even after that hard work, you might still see an error like below:

This is a more generic error which indicates that something threw an exception during the OnStart method of the service. Since it’s so generic, there’s not really one solution to the problem. You need to check the Application Log in the Windows Event Viewer to understand what faulted the service. In some cases, it could be a bad application configuration (as one example).