1

在编写服务的过程中,我有

        //# Service Account Information
        serviceProcessInstaller.Account = ServiceAccount.LocalSystem;

在它的安装程序中。

我在写入日志时遇到问题

    static string USERS_HOME_DIR = Environment.GetEnvironmentVariable("HOMEDRIVE") + Environment.GetEnvironmentVariable("HOMEPATH");

因为当服务运行时(以“管理员身份”安装),事件记录器正在报告

无法启动服务。System.IO.DirectoryNotFoundException:找不到路径“C:\Documents\Folder of Interest”的一部分

我需要 local_PC 用户的 HOMEPATH,任何想法如何获取它们?

更新

实际上,最好只获取当前登录用户的路径,因为他们的会话和服务启动。我的服务不是可重入的,但一个用户总比没有好。

4

1 回答 1

1

如果我正确理解您的问题,您正在寻找的是特殊文件夹 enumerations

有类似的东西:

String PersonalFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);

如果您想将服务作为本地系统帐户运行,则有一组单独的标准用于存储数据。在 serverfault 上查看这个答案

于 2011-09-08T09:11:06.480 回答