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

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:

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.