I was recently tasked with figuring out why a seemingly correct call to sc.exe wasn’t working. This turned into an exercise in frustration as I tried the command about 50 different ways. This is close, but not close enough:
REM Don’t do this—it doesn’t work (keep reading) ** sc.exe create ServiceName binpath="C:\Path\Service.exe -args" depend="tcpip" DisplayName="Service Name" DESCRIPTION: Creates a service entry in the registry and Service Database. USAGE: sc <server> create [service name] [binPath= ] <option1> <option2>... OPTIONS: NOTE: The option name includes the equal sign. type= <own|share|interact|kernel|filesys|rec> (default = own) start= <boot|system|auto|demand|disabled> (default = demand) error= <normal|severe|critical|ignore> (default = normal) binPath= <BinaryPathName> group= <LoadOrderGroup> tag= <yes|no> depend= <Dependencies(separated by / (forward slash))> obj= <AccountName|ObjectName> (default = LocalSystem) DisplayName= <display name> password= <password>
It unhelpfully just dumps the usage information without telling me what I did wrong. After screwing around with it for far too long, I finally figured it out. It says that each “option name includes the equal sign”, but it also includes the space after the equal sign.
It turns out that a literal, precise interpretation of the command line arguments is needed:
C:>sc.exe create ServiceName binpath= “C:\Path\Service.exe -args” depend= “tcpip” DisplayName= “Service Name” [SC] CreateService SUCCESS ```
Obvious, right? :/ I’m sure the devs have their reasons for this unusual parsing requirement but it’s definitely a big usability fail.
Interestingly, while preparing this post I learned that the help info has been improved in Windows 7 and Windows Server 2008:
NOTE: The option name includes the equal sign. A space is required between the equal sign and the value.
So I guess now it’s documented, but still a usability fail.
wolverine said on 2012-05-17
Thanks a lot. It helped.
Unknown said on 2013-01-10
Gracias me ayudado demasiado.
Zafar Iqbal said on 2013-02-23
Thanks dear its working
Unknown said on 2013-04-01
That solved my problem, thanks!
movie2one said on 2013-09-18
Thank you, you have saved my time..
Unknown said on 2013-10-31
Big thanks from me too.
What an awful piece of work sc.exe is for something so important. Really pathetic.
Luisma said on 2014-07-01
Thank you so much. I was going crazy before this.
You should post ir on StackOverflow.com
Kaziu said on 2015-01-28
It seems to be fixed now, doesn’t it? I didn’t put the spaces and it works fine.