Здравствуйте. Может кто знает как договорится с этой заразой в винде 10?
Есть программа. Внутри нее запускается контролирующий поток который проверяет файлик который лежит в тоже папке с программой. ProgramFiles или на диске С своя папка создается.
Так вот этот поток не может открыть файлик на чтение. Получается ошибка UnathorizedAccessException.
Прописал манифест приложения:
Вставил ему туда такую строчку:
Так а зачем требовать прав админа без явной на то причины. Пользователи это не оценят. К тому же в организации может быть своя политика с разделением прав.
Я же говорю. Поток вылетает с ошибкой AccessDenied.
Вот и я думаю что не нужны и тем не менее …
Так то оно да … но туда попасть сложнее если что то пошло не так. Дополнительный ярлык нужно где то пихать.
Чего то не врубаюсь. Какая папка позволит программе писать логи и производить манипуляции с файлами под обычным пользователем??
Причем она должна быть общая для всех пользователей.
Environment.SpecialFolder.CommonApplicationData дает “C:\ProgramData” но читаю и говорят что она тоже пользователям для записи недоступна.
Да как бы это плохое очень решение. Естественно под админом работает. Но программа не делает сверхсерьезных изменений. По сути база данных. Просто куда то надо писать логи и есть некоторые данные которые со временем обновляются. Обновление должен мочь делать любой пользователь.
То есть папка с этими файлами должна быть доступна для записи любому ограниченному пользователю.
Брендмауер?? так он же вроде сетевые подключения блочит. Проблема в UAC если ее отключить то вроде становится нормально. на 7. Но 10 вечно ругается и не дает нормаьно работать. Там даже админ не может софт запустить без клацанья "Именем администратора … "
Program Files предназначена для файлов самой программы (.ехе, библиотеки) устанавливаемой установщиком с правами админа. Поэтому там нужны права, чтоб кто попало не подменил программу.