在编写服务的过程中我有
//# Service Account Information
serviceProcessInstaller.Account = ServiceAccount.LocalSystem;
在安装程序中。
我在写日志时遇到了问题
static string USERS_HOME_DIR = Environment.GetEnvironmentVariable("HOMEDRIVE") + Environment.GetEnvironmentVariable("HOMEPATH");
因为当服务运行时(以“管理员”身份安装),事件记录器正在报告
无法启动服务。 System.IO.DirectoryNotFoundException:找不到路径'C:\ Documents \ Interest of Interest'的一部分
我需要local_PC用户的HOMEPATH,任何想法如何获取它们?
更新
实际上,当他们的会话和服务启动时,最好只获取当前登录用户的路径。我的服务不是可重入的,但一个用户总比没有好。
答案 0 :(得分:1)
如果我正确理解了您的问题,那么您需要special folder enumerations。
有类似的东西:
String PersonalFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
如果要将服务作为localsystem帐户运行,则存在一组用于存储数据的标准。请参阅this answer on serverfault。