如何更改 Windows 服务的可执行文件路径?

如何更改 Windows 服务的可执行文件路径?

我想从命令行更改服务可执行文件的路径。

我怎样才能做到这一点?

我想从该服务的路径运行另一个 .EXE 来执行。

答案1

您可以使用以下sc config命令更改服务指向的路径:

SC CONFIG YourServiceName binPath= "C:\SomeDirectory\YourFile.EXE"

这将更新所调用的服务YourServiceName并将“可执行文件路径”条目更改为C:\SomeDirectory\YourFile.EXE。之后您将需要重新启动服务,您可以这样做:

NET STOP YourServiceName & NET START YourServiceName

答案2

您需要在注册表中执行以下操作:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

导航到服务,然后修改图像名称以反映新路径

与往常一样,事先备份系统。

答案3

上面提供的答案很有效,我无法回复,但补充一下,如果您需要在路径中使用引号或其他参数,比如修复注册表中未加引号的路径漏洞,如图像路径,您可以执行以下操作来自CMD作为管理员:

(例如 C:\Program Files (x86)\YourService\YourProcess.exe)

SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"

您可以执行以下操作来自 powershell作为管理员:

 SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"

这些将给你以下结果:

"C:\Program Files (x86)\YourService\YourProcess.exe"

...该死的参数和逃逸参数简直是一场噩梦!希望这对将来的某人有所帮助。

答案4

您无法直接编辑服务执行路径。为此,您可以使用 sc 命令,

以管理员身份打开命令提示符,然后键入以下命令,

SC CONFIG ServiceName binPath= "Path of your file"

例如:

sc config MongoDB binPath="I:\Programming\MongoDB\MongoDB\bin\mongod.exe --config I:\Programming\MongoDB\MongoDB\bin\mongod.cfg --service"

相关内容