If you receive The delayed auto-start flag could not be set, Error 87, The parameter is incorrect, or Error 5, Access is denied when you try to set the startup of a Windows Service to Automatic (Delayed Start) on Windows 10, then this post will be able to help you resolve the problem.
.As computers get smarter, so do performance expectations. Users want their PCs to work as fast and efficiently as possible, and a way to ensure this is to quicken the boot time. One way to make your computer boot quickly is to reduce the number of programs and services that start up when you power on your PC and enter Windows.
You don’t want to block services from running on system startup outrightly; sometimes, you only have to delay their startup. Here is where you can run into challenges.
Some users have complained of not being able to delay a Service startup on boot. When they attempt to do it via Services Manager, the following error message shows up:
The delayed auto-start flag could not be set, Error 87, The parameter is incorrect
Or
The delayed auto-start flag could not be set, Error 5, Access is denied
Most users experienced these errors when working on the OneSyncSvc service. This article will tell you what the error means as well as how you can resolve it and delay the auto-start of these services.
The delayed auto-start flag could not be set
When you try to set the startup of a Windows Service to Automatic (Delayed Start) but fail to do so, don’t fret because others have encountered similar problems and came out on top of the situation. Here are the recommended ways to set a delayed auto-start flag and rid the error off of your machine.
- Set delayed auto-start from the Windows Registry Editor.
- Use PowerShell.
- Remove the Service from its service group (Not advised)
Before you begin, do remember to create a system restore point first.
1] Set delayed startup type from the Windows Registry Editor
Press the Windows + R combination to invoke the Run dialog box. In the Run dialog box, type Regedit and hit ENTER.
Navigate to the following location in the Windows Registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Here, look for the specific service that you are trying to delay its auto-start.
Let’s say it is Windows Search (WSearch).
You have to look for the DelayedAutostart key.
HKLM\SYSTEM\CurrentControlSet\services\WSearch\DelayedAutostart
The values are as follows:
- 0 – Not set to delayed Start
- 1 – Automatic (delayed start)
So you have to set it to 1 for Delayed Start.
Next, look at the value of the Start key on the same page:
HKLM\SYSTEM\CurrentControlSet\services\WSearch\Start
For the Start DWORD, the values are:
- 2 – Automatic
- 3 – Manual
- 4 – Disabled
Now if the Start DWORD is set to anything other than 2 (Automatic), then the DelayedAutoStart value is ignored, even if it’s set to 1.
So you have to ensure that its value is set to 2 in this case.
This should help.
2] Use PowerShell
Press the Windows key and search for PowerShell. Right-click on Windows Power Shell from the results to open it with Administrative privileges.
In the PowerShell window, enter the following command and hit ENTER to run it:
Get-Service -Name ServiceName | Set-Service -StartupType AutomaticDelayedStart
NOTE: In the command above, replace the ServiceName part with the name of the service you wish to work on.
3] Remove the Service from its Service group (Not advised)
Many services are members of service groups. Many of these groups have entries in the ServiceGroupList in the registry that controls the order in which the services are started. Many services must be started in a specific order. Services that are members of such a group cannot be set to Delayed start.
If you see the Access is Denied error, then one should not try to change the Startup type, as such Services belong to some Service Group, that require Services to load in a particular order. These services depend on other services and are controlled by the ServiceGroupList in the registry.
But if you still wish to go ahead, then in this instance, you can delete the Group value from the following Windows Registry location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName
NOTE: Replace ServiceName with the name of the service in question.
After doing these, restart your computer for the changes to take effect.