我们可以从同一服务而不是其他服务启动/停止和更新Windows服务吗?
答案 0 :(得分:1)
通常,升级服务需要替换其exe并支持DLL,但是除非要更改有关服务注册的某些内容(例如,启动类型),否则无需进行其他注册表更改。
您的服务没有理由无法启动一个小的更新程序,该程序将停止,替换并重新启动该服务,但是通常您不会成功获取任何正在运行的程序来替换自身,因为该exe最终会被锁定/使用在运行时。无需将更新程序注册为服务
请注意,您可能必须使用有权停止/重新启动服务并更改program files
子文件夹的凭据来启动更新程序;服务通常应使用最低权限(最低权限)运行,并且使用相同凭据运行更新程序可能无法提供足够高的特权来替换exe
有关自更换程序的更多想法,请参见How can a program delete its own executable