Cannot change Windows Service properties: Error 87: The parameter is incorrect

I'm trying to disable a service in Windows 10 from the Control Panel > Administrative Tools > Services snap in.

  • Service Name: OneSyncSvc_1e21e
  • Display Name: Sync Host_1e21e
  • Description: This service synchronizes mail, contacts, calendar and various other user data. Mail and other applications dependent on this functionality will not work properly when this service is not running.
  • Path to executable: C:\WINDOWS\system32\svchost.exe -k UnistackSvcGroup
  • Startup type: Automatic (Delayed Start)

When I try to change the Startup type to Manual or Disabled and press OK, I get this message:

The parameter is incorrect.

When I try to change the Startup type to Automatic and press OK, I get this message:

The delayed auto-start flag could not be reset.

Error 87: The parameter is incorrect.

When I try to change the 'Log on as' user to a user without any privileges, I get this message:

The parameter is incorrect.

I've done some searches online and within the stack exchange network, but the error message is a pretty common one and the articles I've found seem to apply to trying to install services and/or dependencies through code. I'm just using the basic windows GUI.

Is there any way I can correct this error, disable this service, or delete it entirely?


Solution 1:

I stumbled upon the same issue when trying to disable MessagingService_48ab2.

The solution for it was to look for the service in the registry.

Press start button on your keyboard, type regedit, right-click it and open as administrator.

Then navigate to:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc_48ab2

Double-click the "Start" 32-bit DWORD and change it's value to 4 (disabled).

Solution 2:

You can also use powershell to disable the service (or any other PITA service)

Start powershell as Administration (Run as Administration) and then

Get-Service -Name OneSyncSvc | Set-Service -StartupType Disabled -Confirm:$false

Solution 3:

Answer by askepott is the only right one.

The other answers don't take into account the crucial "The parameter is incorrect" part of the original question: PowerShell is just a dumb shell that relays the command to the same service component that fails the OP in the first place:

> Get-Service -Name "ServiceName"" | Set-Service -StartupType Disabled -Confirm:$false
Set-Service : Service 'ServiceName (ServiceName)' cannot be configured due to the following error: The parameter
is incorrect
At line:1 char:35
+ ... ame ServiceName | Set-Service -StartupType Disabled -Confirm:$false
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (System.ServiceProcess.ServiceController:ServiceController) [Set-Servi
   ce], ServiceCommandException
    + FullyQualifiedErrorId : CouldNotSetService,Microsoft.PowerShell.Commands.SetServiceCommand

Editing the registry seems to be the only solution for botched services like this. I don't know the cause of this issue, but in my case the service seemed to be configured to run with 'Log on as', with the user password provided but an empty username. Changing it to Local System wouldn't work either due to the "The parameter is incorrect" persisting with any modification.