我想修改应用程序的路径,但这样做会破坏它,因为服务仍然指向旧的位置。
通过转到管理工具>服务,您可以打开一个属性对话框并查看可执行文件的路径,但没有办法更改它。
用户是否可以在不重新安装应用程序的情况下修改服务路径?
我想修改应用程序的路径,但这样做会破坏它,因为服务仍然指向旧的位置。
通过转到管理工具>服务,您可以打开一个属性对话框并查看可执行文件的路径,但没有办法更改它。
用户是否可以在不重新安装应用程序的情况下修改服务路径?
当前回答
对于这种情况,最好的方法是卸载应用程序并重新安装应用程序。这是正确的合法途径。
其他回答
您可以删除该服务:
sc delete ServiceName
然后重新创建服务。
你也可以用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")
Or:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
-Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"
对于像我这样试图修改MongoDB服务以使用身份验证的人,对@CodeMaker的回答进行了轻微修改。
当我查看“服务”中的“可执行路径”时,执行行已经包含语音标记。所以我不得不对他的例子做了一些小小的修改。
具体来说。
Windows下的服务类型 找到MongoDB(或您想更改的服务)并打开该服务,确保停止它。 记下服务名称(不是显示名称) 查找并复制“可执行路径”并复制它。
对我来说,路径是(注意这些符号)
"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg" --service
命令行类型
sc config MongoDB binPath= "<Modified string with \" to replace ">"
对我来说是
sc config MongoDB binPath= "\"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe\" --config \"C:\Program Files\MongoDB\Server\4.2\bin\mongod.cfg\" --service -- auth"
使用Invoke-WmiMethod的替代方法是使用更新的CIM cmdlet。这也避免了@($null,$null…)对象的需要,就像在前面的回答中看到的那样。
Get-CimInstance win32_service -Filter "Name='My Service'" | Invoke-CimMethod -MethodName - Change -Arguments @{PathName="C:\Program Files\My Service\NewName.exe"}
打开运行(win+R),输入“Regedit.exe”,打开“注册表编辑器”,转到
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \服务
找到“Apache2.4”打开文件夹在右边找到“ImagePath”,打开“ImagePath” 在“value Data”下输入以下路径:
“C:\xampp\apache\bin\httpd.exe”-k runservice对其他xampp指向apache安装的位置,并在其中找到bin文件夹“C:(apache安装位置)\bin\httpd.exe”-k runservice