Eu não recomendo modificar o LoadOrderGroup de um serviço, mas isso pode ser feito com sc.exe na linha de comando.
C:\>sc config /?
DESCRIPTION:
Modifies a service entry in the registry and Service Database.
USAGE:
sc <server> config [service name] <option1> <option2>...
OPTIONS:
NOTE: The option name includes the equal sign.
A space is required between the equal sign and the value.
type= <own|share|interact|kernel|filesys|rec|adapt>
start= <boot|system|auto|demand|disabled|delayed-auto>
error= <normal|severe|critical|ignore>
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <Dependencies(separated by / (forward slash))>
obj= <AccountName|ObjectName>
DisplayName= <display name>
password= <password>
A parte em que você está interessado é group= <loadordergroup> . Este diz que a lista de LoadOrderGroups válidos está em um valor chamado ServiceGroupOrder em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control , mas achei no Windows 7 que não existe tal valor. Há uma chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder com um valor List . Os dados para List são obviamente uma lista dos grupos, na ordem em que os grupos são carregados.
Mais uma vez, eu não tocaria em nenhuma dessas configurações, a menos que você tenha certeza de que sabe o que está fazendo. Não tenho ideia de quais problemas você pode causar.
Além disso, esteja ciente de que sc.exe é extremamente seletivo sobre a sintaxe.
sc config messenger DisplayName= Messenger funciona.
sc config messenger DisplayName=Messenger não funcionará.
sc config messenger DisplayName = Messenger não será trabalho.