Certain changes such as updates to IIS configuration schema, registry keys or .NET assemblies in GAC requires restarting IIS (iisreset). Alternatively, you can recycle application pools.
While trying to restart IIS, you may come across to the error message below. I will explain the troubleshooting steps for this issue in this post.
Restart attempt failed. The IIS Admin Service or the World Wide Web Publishing Service, or a service dependent on them failed to start. The service, or dependent services may had an error during its startup or may be disabled
Solution for “Restart attempt failed” error
IIS depends on the certain services to function properly. As the error message mentions, the root cause of this issue is probably a failed dependent service.
Make sure the services below are running in the server:
- World Wide Web Publishing
- IIS Admin Service
- Net.Msmq Listener Adapter
- Net.Tcp Listener Adapter
- Net.Pipe Listener Adapter
- Net.Tcp Port Sharing Service
- Messaging Queuing
- W3SVC Service
In my case, Net.Msmq Listener Adapter service was not running. When I tried to start it, I got this error:
Error 1075: The dependency service does not exist or has been marked for deletion
In the Event Viewer, I saw this message:
The Net.Msmq Listener Adapter service depends on the following service: msmq. This service might not be installed.
Net.Msmq Listener Adapter and MSMQ
This message indicated that MSMQ may not exist in the server. MSMQ (Microsoft Message Queuing) is a messaging protocol that applications use for running on separate servers and processes. Net.Msmq Listener Adapter uses this protocol to receive activation requests and then pass them to Windows Process Activation Service (WAS).
Solution for “Error 1075: The dependency service does not exist”
This issue occurs if the Message Queuing is missing in the server. Follow the steps below to install it.
- Open Server Manager
- Go to “Manage > Add Roles and Features Wizard”
- Click “Next” four times to go to “Server Roles” section
- Select “Message Queuing”
- Click “Next” and then click “Install”
After the installation is completed, try to start Net.Msmq Listener Adapter service again. It should start successfully. Then try iisreset again.
Even after installing Message Queuing, you may see that this protocol doesn’t exist in Binding window. If run into this issue, check this post out for the solution: Missing bindings in IIS (net.tcp, net.pipe, net.msmq, msmq.formatname)