Я не уверен, что это подходящее место для такого вопроса (может быть, его следует разместить на SuperUser?), Но я попробую.
У меня есть одно консольное приложение C # и одна служба Windows. Оба делают то же самое, но консольное приложение было создано раньше и сохранено для обратной совместимости. На каждом из них работает служба WCF, методы которой работают с файлами в C: \ ProgramData \ MyApp. Консольное приложение запускается от имени пользователя с ограничениями (не администратора), служба Windows работает как NT AUTHORITY \ NETWORK SERVICE. Когда приложение создает какие-то каталоги / файлы, сервис не может их удалить, и наоборот.
Я бы хотел, чтобы это было закреплено. Мой вопрос: следует ли предоставлять полные разрешения на C: \ ProgramData \ MyApp СЕТЕВОЙ СЛУЖБЕ и текущему пользователю? Или мне следует создать специального пользователя для запуска службы / приложения?