【发布时间】:2014-02-24 09:14:38
【问题描述】:
我有一个 Windows 窗体应用程序的 exe,它放在每个登录用户的 AppData 文件夹中。我编写了一个 Windows 服务,它在一段时间后启动 exe,但问题是当另一个非管理员用户登录时它不会启动/停止。该服务不会从该用户的 App 数据文件夹启动 exe。我尝试使用 OnSesionChange 事件,在该事件中我停止/启动了登录/关闭事件的服务。我启用了所需的事件,例如
AutoLog = true;
CanHandlePowerEvent = true;
CanPauseAndContinue = true;
CanHandleSessionChangeEvent = true;
CanShutdown = true;
CanStop = true;
但是 SCM 中仍然没有显示服务状态。即使是非管理员用户也无法从 SCM 手动启动或停止服务。那么我应该如何允许每个登录用户停止/启动服务。我阅读了有关 SDDL 的信息,但不知道如何使用它。
【问题讨论】:
-
应用程序应该以用户权限运行还是以管理员权限运行?
标签: c# winforms windows-services