Windows服务无法启动非管理员用户

时间:2014-02-24 09:14:39

标签: c# winforms windows-services

我有一个Windows窗体应用程序的exe,它放在每个登录用户的AppData文件夹中。我编写了一个Windows服务,在一段时间间隔后启动exe,但问题是当另一个非管理员用户登录时它不会启动/停止。该服务不会从该用户App数据文件夹启动exe。我尝试使用OnSesionChange事件,我在登录/关闭事件中停止/启动服务。我启用了所需的事件,如

        AutoLog = true;
        CanHandlePowerEvent = true;
        CanPauseAndContinue = true;
        CanHandleSessionChangeEvent = true;
        CanShutdown = true;
        CanStop = true;

但SCM中仍未显示服务状态。即使非管理员用户无法从SCM手动启动或停止服务。那么我应该如何允许每个登录用户停止/启动服务。我读了SDDL但没有得到如何使用它。

1 个答案:

答案 0 :(得分:0)

在Windows服务中ServiceProcessInstaller的{​​{1}}属性设置为什么? 将其设置为Account。将LocalSystem的{​​{1}}设置为serviceinstaller。这样无论登录用户是谁,无论何时启动操作系统,它都会启动

如果需要,请参阅此http://csharp-asp.blogspot.com/2008/10/how-to-create-simple-windows-service-in.html