Service Dependencies

In our archiving project we sometimes have the problem that the retrieval of archived mails was not possible after the archive server was restarted. We use a third party archiving solution which not only archives mail documents but also SAP and filesystem. On one of the archive servers a Domino server is installed. This Domino controls the mail archiving part.

It was found that the issue occurs when the Domino service started before the JBoss service was started. So we had to ensure that JBoss has started and is available for use before the Domino service starts.

You might have seen, that some services already have dependencies. Double click a service in the service manager and navigate to the dependencies tab. Domino does not depent on any other service by default.

And, as you can see, there is no button or so to create a dependency or to delete an existing one. This has to be done by modifying the registry.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>

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.

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.