我有一个使用 SQL Server 数据库的 Windows 服务。我无法控制服务的安装,但想添加对服务的依赖项以确保它在 SQL Server 启动后启动。(SQL 服务器与相关服务在同一台机器上运行)
是否有添加依赖项或可能直接编辑注册表的工具?
我有一个使用 SQL Server 数据库的 Windows 服务。我无法控制服务的安装,但想添加对服务的依赖项以确保它在 SQL Server 启动后启动。(SQL 服务器与相关服务在同一台机器上运行)
是否有添加依赖项或可能直接编辑注册表的工具?
这也可以使用命令通过提升的命令提示符来完成
sc
。语法是:注意:等号后面有空格,前面没有空格。
警告:
depend=
参数将覆盖现有的依赖项列表,而不是追加。例如,如果 ServiceA 已经依赖于 ServiceB 和 ServiceC,如果你运行depend= ServiceD
,ServiceA 现在将只依赖于 ServiceD。(感谢马特!)例子
对另一项服务的依赖:
上面的意思是ServiceA在ServiceB启动之前不会启动。如果停止 ServiceB,ServiceA 将自动停止。
对多个其他服务的依赖:
以上表示ServiceA在ServiceB、ServiceC和ServiceD都启动后才会启动。如果您停止 ServiceB、ServiceC 或 ServiceD 中的任何一个,ServiceA 将自动停止。
要删除所有依赖项:
列出当前依赖项:
您可以通过使用命令将“DependOnService”值添加到注册表中的服务来添加服务依赖项
regedit
,服务可以在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>
. 详细信息可以在MS 知识库文章 193888中找到,以下是其中的摘录:我正在寻找一种可以在 2008R2/Win7 和更高版本上运行的纯 PowerShell(没有 regedit 或 sc.exe)方法,并提出了这个:
一种简单的方法是使用 PowerShell 进行注册表编辑:
或者,使用 WMI:
Win32_Service 类的Change方法帮助指出了一个解决方案:
如果您有兴趣,我编写了一个简单的 .net 应用程序来管理服务依赖项。免费。
http://webpages.charter.net/bushman4/servicedependencymanager.html
在 C++ (ATL) 中我确实喜欢这个