windows 无需删除/重新安装的服务更新 exe 选项

windows service update exe options without remove / reinstall

我安装了 windows 服务,并且可以正常使用 exe 的路径:

c:\myproject\mybinary.exe -home d:\home - generateFiles false

我想添加另一个选项:-option optionValue

因为我有大约 200 种不同的服务,安装在 15 台不同的服务器上,卸载并使用新选项重新安装很复杂。

是否可以通过某种方式在不对服务二进制文件进行任何更改的情况下添加新选项?

PowerShell:

Get-WmiObject win32_service -filter "Name='My Service'" `
    | Invoke-WmiMethod -Name Change `
    -ArgumentList @($null,$null,$null,$null,$null, `
    "c:\myproject\mybinary.exe -home d:\home -generateFiles false -option optionValue")

或者:

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
    -Name ImagePath -Value "c:\myproject\mybinary.exe -home d:\home -generateFiles false -option optionValue"

之后您需要重新启动服务:Restart-Service "My Service"。另见 here