Fail to start W3SVC: The parameter is incorrect




When start World Wide Web Publishing Service service, the following Service error message popup


Could not start the World Wide Web Publishing Service service on Local Computer.

Error 87: The parameter is incorrect.


In the system log, Event 7000 was logged:


Event Type:   Error

Event Source: Service Control Manager

Event Category:       None

Event ID:       7000

Date:            11/26/2009

Time:            3:49:37 PM

User:            N/A

Computer:     XXXXX


The World Wide Web Publishing Service service failed to start due to the following error:

The parameter is incorrect.




Run net start command, still get the same issue:


net start w3svc


Run the Process Monitor log, we found there is no service command to start executing the World Wide Web Publishing Service (i.e. C:\WINDOWS\System32\svchost.exe -k iissvcs)


Events should be similar with below when starting W3SVC on good IIS box.


12:26:26.6020853 PM             1040        services.exe           400          Process Create                C:\WINDOWS\System32\svchost.exe   SUCCESS               PID: 10692, Command line: C:\WINDOWS\System32\svchost.exe -k iissvcs

12:26:26.6020970 PM             1041        svchost.exe            10692      Process Start                          SUCCESS                Parent PID: 400

12:26:26.6021233 PM             1042        svchost.exe            10692      Thread Create                        SUCCESS                Thread ID: 11680


Hence, the issue can be caused by register key since the system service needs to get related information from service register value first.


Root Cause


We found extra Environment value under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\, as below:

Windows Registry Editor Version 5.00






Data of Environment value is empty.


We have reviewed OS source code, when system starts service, the environment value will be read by service if exists and merge into parent’s Environment value. If there is no environment value, the value will be inherited from parent node.  Then it is used by service starting procedure.


The issue can be reproduced after add Environment Multi-String Value with empty data under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\



Delete the Environment value under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\
Successfully start the
World Wide Web Publishing Service.





Anik Shen


Comments (3)

  1. Garry Trinder says:

    Please note that this blog post focuses on a special case. There can be other cases for the same error messages, such as missing permissions and so on.

    Process Monitor is a nice tool to troubleshoot similar issues.

  2. fatemeh says:

    Thanks so much!

  3. Alessandro says:

    The problem was the service WAS, deleted empty key "Environment" from the registry worked.

    Thank You

Skip to main content