Unable to set service to delayed start

I would like to set the service to "Automatic (Delayed Start)" to reduce the impact on system performance at boot, but I get an error "Error 87: The parameter is incorrect." when trying to switch it to delayed start. I'm assuming you never put the option in for that startup parameter.

It would be a nice to have to be able to set it to delayed start, that way it doesn't impact the OS loading everything during start up. Deskscapes has quite a performance impact on the system at boot.

5,481 views 6 replies
Reply #1 Top

Hello,
I have forwarded your problem/question to Stardock Support Team for their assistance. Please keep an eye on this thread for any updates. We appreciate your feedback and patience. Thank you.

Basj,
Stardock Community Assistant

Reply #2 Top

Delayed start is purely a Windows OS level thing (it just doesn't start the service until later).  Apps do not need to add in support for it so this would suggest another cause.

Reply #3 Top

Exactly, your service doesn't have an option built in for setting delayed start. It's more a feature request, there is no "cause" to fix, just add one of the service start options of "delayed start", for instance if I were to set one of my services I've written I would do something like this: 

 SCMHandle := OpenSCManager(nil, nil, SC_MANAGER_ALL_ACCESS);
 if SCMHandle <> 0 then
  begin
    ServiceHandle := OpenService(SCMHandle, PChar('MyService'), SERVICE_CHANGE_CONFIG);
    if ServiceHandle <> 0 then
    begin
      // Set the startup type to Automatic (Delayed Start)
      DelayedStartInfo.fDelayedAutoStart := True;
      ChangeServiceConfig2(ServiceHandle, SERVICE_CONFIG_DELAYED_AUTO_START_INFO, @DelayedStartInfo)
    end;
end;

Reply #4 Top

Here's what I'm talking about, since I couldn't just set it to delayed start, from services, I went and stopped the service, I then switched it to delayed start and got a message ""The delayed auto-start flag could not be set. Error 87: The parameter is incorrect." 

Looking at the registry, it appears you set the Group to "UIGroup" which is most likely causing windows to not allow setting a delayed start since you are defining explicitly what group to start the service with. So no this is entirely how the service was designed causing the issue.

While it's not that big of a deal for my hardware, it still causes issues with things like Corsair iCUE, MSI Center etc starting up and getting control of the hardware. I have a Intel Core Ultra 9 285k, so it's not going to be terrible like it was on my i7 4790k (I ended up just uninstalling deskscapes on that machine due to the performance impact on start up).

Even adding an option to start deskscapes in a "paused" state until x number of minutes at start up would go a long way in reducing the impact on system performance at startup if the service has to remain in the UIGroup startup group.

Reply #5 Top

After deleting the Group registry value then setting DelayedAutoStart to 1, delayed start works, it also has the desired effect of not starting until everything else has already loaded in the OS.

This could have been an easy change on your end without users having to go into the registry to get the desired effect.

It would probably be better and cleaner to add an option to start deskscapes paused, then after the specified amount of time, resume deskscapes.

Reply #6 Top

Quoting ndavalos76, reply 5

After deleting the Group registry value then setting DelayedAutoStart to 1, delayed start works, it also has the desired effect of not starting until everything else has already loaded in the OS.



This could have been an easy change on your end without users having to go into the registry to get the desired effect.

It would probably be better and cleaner to add an option to start deskscapes paused, then after the specified amount of time, resume deskscapes.

The software is intentionally designed to start with the OS so the wallpaper doesn't abruptly change after login as this is a poor user experience and feels very much not native.  This is why it is set as it is.

I am pleased you have found a solution for your needs though.

We will consider adding some sort of delay option (though not as a delayed start service as thats less flexible) 

+1 Loading…