Microsoft KB Archive/193888

= How to delay loading of specific services =

Article ID: 193888

Article Last Modified on 2/27/2007

-

APPLIES TO


 * Microsoft Windows NT Workstation 4.0 Developer Edition
 * Microsoft Windows NT Server 4.0 Standard Edition
 * Microsoft Windows 2000 Professional Edition
 * Microsoft Windows 2000 Server
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows XP Professional
 * Microsoft Windows XP Home Edition
 * Microsoft Windows Server 2003, Standard Edition (32-bit x86)
 * Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)

-



This article was previously published under Q193888



Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry



SUMMARY
In some computers, especially older systems and those with slower peripherals, it may be necessary to delay the loading of a specific Windows service for the computer to boot properly. Or you may want to ensure that one service has started and is available for use before another for troubleshooting purposes. This can impact such issues as a domain controller, which cannot access the network where a protocol, or a service such as DHCP, attempts to load BEFORE the network card has had a chance to be bound (for example, Compaq Netflex).



MORE INFORMATION
You will first need to verify that the dependency you want to create does not already exist. The following are some of the most common dependencies that already exist in a default configuration:

  Service      Depends on   ---      -- Alerter     LanmanWorkstation Browser     LanmanWorkstation, LanmanServer, LmHosts ClipSrv     NetDDE DHCP        Afd, NetBT, TCP/IP Messenger   LanmanWorkstation, NetBIOS NetBT       TCP/IP NetDDE      NetDDEDSDM NetLogon    LanmanWorkstation, LmHosts Parallel    Parport Replicator  LanmanServer, LanmanWorkstation

The Registry subkeys for services are located in the following path and can control how services are loaded.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

Warning If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

To create a new dependency, select the subkey representing the service you want to delay, click Edit, and then click Add Value. Create a new value name "DependOnService" (without the quotation marks) with a data type of REG_MULTI_SZ, and then click OK. When the Data dialog box appears, type the name or names of the services that you prefer to start before this service with one entry for each line, and then click OK.

The name of the service you would enter in the Data dialog box is the exact name of the service as it appears in the registry under the Services key.

When the computer starts, it uses this entry to verify that the service or services listed in this value are started before attempting to start the dependent service.

For example, you may want to ensure that your Server service loads before the Windows Internet Name Service (WINS). If you select the WINS key in the registry, you will notice that the DependOnService value already exists in the WINS key. In a default installation, WINS is already dependent on both RPCSS (Remote Procedure Call) and NTLMSSP (Windows NT LanMan Security Support Provider) services. To add the Server service to this list, double-click the DependOnService value. In the Multi-String Editor, on the line below NTMLSSP, add the entry "LANMANSERVER" (without quotation marks), and then click OK.

In addition, Windows 2000 and Windows 2003 Active Directory needs to find and use the DNS Server service. The Netlogon service can be delayed to ensure that the DNS Server service is up and running for Dynamic DNS registration and query for existing Active Directory domain controllers that are in the DNS server database. Use the DependOnService in the Netlogon and add DNS to the list of LanmanWorkstation and LanmanServer. This delays Netlogon from starting until the DNS Server service on that same computer is started and ready.

Note Only delay the Netlogon service for DNS on a Windows 2000 or Windows 2003 Server when the DNS service is on the same Windows 2000 or Windows 2003-based server.

Note Entries in this field are NOT case-sensitive.

Warning Adding this entry manually may prevent the system from starting properly if you establish a "circular dependency." In its simplest form, such a problem would occur when you make two differing services dependent on one another. Neither service would be able to start as they would both require the other to be started first.

Note If you have a service that needs to start late in the boot cycle but you do not have a specific service dependency, as explained above, then choose one of the services which startup last as the data value for the value "Depends on Service". Services commonly selected are Spooler and Messenger.

