When creating a service with sc.exe how to pass in context parameters?

Viewed 502157

When creating Windows service using:

sc create ServiceName binPath= "the path"

how can arguments be passed to the Installer class's Context.Parameters collection?

My reading of the sc.exe documentation is that such arguments could only be passed on the end of binPath, but I have not found an example or been able to successfully do this.

14 Answers

I had issues getting this to work on Windows 7. It seemed to ignore the first argument I passed in so I used binPath= "C:\path\to\service.exe -bogusarg -realarg1 -realarg2" and it worked.

This command works:

sc create startSvn binPath= "\"C:\Subversion\bin\svnserve.exe\" --service -r \"C:\SVN_Repository\"" displayname= "MyServer" depend= tcpip start= auto

A service creation example of using backslashes with many double quotes.

C:\Windows\system32>sc.exe create teagent binpath= "\"C:\Program Files\Tripwire\TE\Agent\bin\wrapper.exe\" -s \"C:\Program Files\Tripwire\TE\Agent\bin\agent.conf\"" DisplayName= "Tripwire Enterprise Agent"

[SC] CreateService SUCCESS

it is not working in the Powershell and should use CMD in my case

In W2008 Server you still need the space, e.g. binPath= "", but in W2019 Server it is fixed, and binPath="" works

Related