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


55

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

我怎样才能做到这一点?

我想从该服务的路径运行另一个.EXE到可执行文件。


如果Dave的答案不是您所需要的,请使用“编辑”链接进行进一步说明?
Arjan 2010年

Answers:


70

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

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

这将更新称为的服务YourServiceName,并将“可执行路径路径”条目更改为C:\SomeDirectory\YourFile.EXE。之后,您将需要重新启动服务,您可以执行以下操作:

NET STOP YourServiceName & NET START YourServiceName

如果要将MySQL配置(.ini)移至另一个驱动器。您可以省略内引号。只需将整个修改后的字符串用单引号引起来即可。将我的.ini和数据文件夹移动到Win7上的D:驱动器。
布莱恩·伯特赖特

1
Path to executable还包含引号和其他参数时该怎么办?例如:"C:\Program Files\CollabNet\Subversion Server\svnserve.exe" --service -r "E:\Repositories" --listen-port "3690"可悲的是,我不得不为此而去注册。
James Skemp 2011年

@James-我很确定你可以逃脱那些角色,但是我必须尝试一下然后再找你。
LittleBobbyTables

6
请注意,binpath =和命令之间需要有一个空格。笨,我知道。
Chloe 2012年

2
binPath中的引号可以用反斜杠转义:\“
gwyn13年

16

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

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services

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

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


这对我来说更好。我要更改的服务有一些复杂的论点。
John Allers 2015年

2

您也可以使用PowerShell执行此操作:

Get-WmiObject win32_service -filter "Name='My Service'" `
    | Invoke-WmiMethod -Name Change `
    -ArgumentList @($null,$null,$null,$null,$null, `
    "C:\Program Files (x86)\My Service\NewName.EXE")

要么:

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
    -Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"

1

上面提供的答案很好用,我无法回答,但总之,如果您需要在路径中使用引号或其他参数,请说要修复注册表中未引用的路径漏洞(例如imagepath),可以从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"

...血腥参数和转义参数是一场噩梦!希望这对以后的人有所帮助。


0

您不能直接编辑路径以执行服务。为此,您可以使用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"

:-您的外观与LittleBobbyTables相同,如果可以详细说明差异,请这样做。时不时地阅读如何回答游览始终是一件好事。
mic84
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.