У меня следующая ситуация: я создаю приложение, которое требует обслуживания. Служба иногда создает файлы и папки для пользователя (фактически она получает файлы, которые затем записывает на диск).
Мои проблемы следующие:
Если «Стандартный пользователь» (т.е. не администратор) использует приложение (которое включает в себя службу), файлы, которые создает служба, не могут даже быть прочитаны этим пользователем, поскольку он не имеет никаких привилегий, так как он кажется («доступ запрещен»). Но те же файлы впоследствии могут быть просмотрены пользователями с правами администратора.
Если служба создает для пользователя-администратора папку на рабочем столе (я не пробовал с таким местом назначения, как C :), тогда пользователь-администратор не может даже увидеть папку из-за привилегий ( папка не появляется, но, тем не менее, она попадает в список, если я использую команду «dir» в cmd, а если я остановлю службу, папка будет автоматически удалена - я понятия не имею, почему). Однако я попытался заставить службу создать папку в папке на рабочем столе (папка, которая уже была создана мной ранее), и она работала правильно.
Итак, я понимаю, что проблема со службой связана с тем, как она установлена / работает. В настоящее время он находится в «LocalSystem» (я пытался установить его с помощью cmd с командой sc.exe с «LocalService», но он не распознает «LocalService»).
Итак, есть ли способ заставить мой сервис создавать файлы и папки, чтобы пользователи могли читать / писать их по своему желанию?
Если да, то, ПОЖАЛУЙСТА, СКАЖИТЕ МНЕ, как это сделать.
P.S. До сих пор я использовал файл .bat для вызова sc.exe для установки и запуска службы. Это нормально?