【发布时间】:2011-09-06 04:14:04
【问题描述】:
我创建了一个 C# Windows 服务及其随附的 Visual Studio 安装项目,该项目创建了一个安装程序。它成功安装了服务。
当我从枚举ServiceAccount 中选择除ServiceAccount.User 之外的任何值时,服务安装时不会提示使用适当的内置用户。我所追求的实际上是在当前用户的凭据下安装服务。当我指定ServiceAccount.User 时,我会在安装过程中提示输入用户名和密码。我需要做的是找到一种方法,使用运行设置的用户的凭据安装服务,而不提示输入密码。
这有可能吗?我愿意采取任何必要的措施(例如大量 P/Invoke)来完成工作。
【问题讨论】:
-
服务是做什么的?如果是按用户服务,那么使用任务调度机制或程序自动启动可能是更好的选择。
-
是的,你是对的。自动启动仅涵盖一次场景 - 如果程序需要在没有登录用户的情况下运行,或者如果其他用户登录,该怎么办?另外,我不确定任务调度和登录用户,但任务调度似乎不合适,因为应用程序需要连续运行而不是在指定时间启动。
标签: c# .net windows-services