Я создал стандартную службу Windows, которая использует учетную запись LocalSystem.Для файлов журнала я использую textwriter для записи в указанный файл в каталоге C: \ Users \ useraccount.Проблема заключается в том, что при запуске в качестве службы в LocalSystem он вообще не хочет создавать или записывать в файл.
string dir = @"C:\Users\useraccount\log.txt";
StreamWriter sw = File.AppendText(dir);
Как видите, каталог жестко закодирован, поэтому нетt любые конфликты базовых каталогов, видимые как LocalSystem, начнутся в System32 или что-то в этом роде.Права доступа к папке позволяют системной учетной записи получить полный доступ к ней (Windows 7), так почему я не могу создать / записать этот файл?
Спасибо за любой ввод!
Редактировать:
Очевидно, что поток программы ведения журнала также работает как LocalSystem, когда мне действительно нужно, чтобы он работал как обычный пользователь.Итак, как мне выполнить многопоточный процесс из службы для запуска под учетной записью локального пользователя, а не под LocalSystem.
Я использую Thread.new (процесс), где процесс - это дополнительная программа.Программа процесса должна получить входные данные, прежде чем что-то записать, и она не получает входные данные, потому что находится на неправильной учетной записи.Как бы это исправить?