Windows 服务是否全局安装?

Windows 服务是否全局安装?

我编写了一个简单的 c# Windows 服务。如果使用它进行安装installutil,那么系统的所有用户都可以使用该服务吗?

对于服务器操作系统,应在哪个帐户下安装服务以便它在服务器启动时自动启动?

请对此作出解释。

答案1

是的。 普通的 Windows 服务本质上是全局的;无论使用哪个帐户安装服务都没有区别。据我所知,Windows 甚至不记录这些信息。

您确实需要拥有管理员权限才能安装服务。

要将服务配置为随 Windows 自动启动,请适当配置服务启动类型。请参阅如何:将安装程序添加到您的服务应用程序。

附录:如果服务在域帐户中运行,则在某些情况下可能需要将该服务配置为延迟启动。 这个答案解释了如何在 .NET 中执行此操作。如果服务在手动启动时正常运行,但在自动启动时生成“无效的用户名或密码”类型的错误,则将其配置为延迟启动可能会有所帮助。我还不确定问题的根本原因。

(如果服务使用SERVICE_USER_OWN_PROCESSSERVICE_USER_SHARE_PROCESS类型,那么每个登录用户都有单独的服务实例,并且这种服务的行为似乎没有得到适当的记录。但是,我相信答案是一样的:安装仍然是全局的,哪个帐户安装该服务仍然没有区别。)

相关内容