据我了解,服务应用程序的主入口点调用StartServiceCtrlDispatcher,其中包含一系列条目,其中包含(以及其他)要运行的服务的入口点。
没有任何关于该设置特别需要任何类型的安装:那么为什么必须安装Windows服务呢?
我假设它是一个访问管理/安全的东西,但我无法在网上找到任何东西。
答案 0 :(得分:1)
服务未连接到特定用户,服务的主要卖点是在没有用户登录时运行的能力。如果没有用户启动服务,Windows将如何知道如何启动如果没有中央名单可以咨询吗?
服务列表存储在注册表中,这是服务管理器获取已安装服务及其配置列表的位置。
大多数第三方服务每个.exe只包含一个服务,传递给StartServiceCtrlDispatcher
的数组只包含一个服务。着名的svchost.exe可以在一个进程中拥有多个服务,在这个设计中,每个服务都是在由svchost.exe加载的.dll中实现的。
Microsoft使用svchost.exe设计来减少系统上的进程总数。系统上仍会有多个svchost进程,每个进程对应一种配置类型(网络访问与本地访问等)。
服务管理员需要了解的有关每项服务的其他配置详细信息包括服务何时停止应采取的操作以及是否应该延迟启动等。这些设置在服务本身中没有硬编码,以便管理员可以更改组态。