Поиск домашних путей пользователей из сервиса
-
27-10-2019 - |
Вопрос
В процессе написания сервиса у меня есть
//# Service Account Information
serviceProcessInstaller.Account = ServiceAccount.LocalSystem;
в установщике для этого.
У меня возникли проблемы с записью журнала в
static string USERS_HOME_DIR = Environment.GetEnvironmentVariable("HOMEDRIVE") + Environment.GetEnvironmentVariable("HOMEPATH");
с момента запуска службы (установленной "от имени администратора") регистратор событий сообщал
Служба не может быть запущена.Исключение System.IO.DirectoryNotFoundException:Не удалось найти часть пути "C:\Documents\Folder представляющую интерес"
Мне нужны домашние пути пользователей local_PC, есть идеи, как их получить?
Обновить
На самом деле было бы лучше просто получить путь для текущего вошедшего в систему пользователя, когда начнется его сеанс и служба.В моем сервисе нет повторного входа, но один пользователь лучше, чем ни одного.
Решение
Если я правильно понял ваш вопрос, то, что вы ищете, это перечисления специальных папок.
С чем-то вроде:
String PersonalFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
Если вы хотите запустить службу от имени учетной записи localsystem, существует отдельный набор стандартов для хранения данных.Видишь этот ответ по ошибке сервера.