我有一个依赖于服务的启动应用程序(也在启动时运行)。服务总是先运行吗?
我的目标是知道我的应用程序是否可以假设服务未运行 - 它尚未安装(或发生了一些错误),应通知用户或应安装服务。如果这不一定是真的(服务首先运行),我会让应用程序等待一段时间并重新检查,然后提醒用户或尝试安装服务。 (10秒?2分钟?)
修改
我知道服务可能故意没有立即执行(Delayed Start)。我没有提到那个。
更多信息:该服务也是我的。应用程序在首次运行时安装,要求用户提供管理员权限。该应用程序是一个UI应用程序,因此无法作为服务运行。
答案 0 :(得分:1)
服务是否总是先运行
不。当然不。该服务可能需要很长时间才能启动,或者它的依赖项无法启动,它必须等待该依赖项重试等。
我自己经历过Windows时间服务
但是你有几个选择
使用任务计划程序并将触发条件设置为“On a event”,并确定特定服务在启动时将生成哪些Eventlog条目。
使您的应用程序成为一项服务并声明它依赖于它所需的服务。如果未安装该服务,您将收到一条错误消息,指出不符合依赖关系。
允许应用程序启动,但每隔X秒检查一次,以确保服务已启动,然后再继续。