如何更改 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

上面提供的答案很好,我無法回复它,但要補充的是,如果您需要在路徑中包含引號或其他參數,例如要修復註冊表中未加引號的路徑漏洞,例如圖像路徑,您可以執行以下操作來自命令作為管理員:

(例如,對於 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"

相關內容