Почему доступ к файлам в AppData (в Vista) требует прав администратора? - PullRequest
4 голосов
/ 08 мая 2009

Мое приложение (vb.net) иногда выдает исключение "отказано в доступе" при попытке удалить файлы в папке AppData, и я не уверен почему.

Я подтверждаю, что файл существует, прежде чем пытаться удалить его, и ничего не сделал, чтобы сделать его доступным только для чтения и т. Д.

Интересно то, что все идет нормально, когда я захожу с правами администратора. Однако я подумал, что папка AppData не требует прав администратора.

Любая помощь будет принята с благодарностью!

Спасибо!

Ответы [ 4 ]

5 голосов
/ 10 мая 2014

Мои инстинкты инстинкта не видят ваш код в том, что, возможно, у вас этот файл открыт в вашей программе или в другой программе?

4 голосов
/ 11 мая 2009

Это не обязательно папка, а владелец файла, с которым вы пытаетесь взаимодействовать. Если файл принадлежит администраторам, у вас могут быть проблемы.

4 голосов
/ 08 мая 2009

Может быть, эти файлы были созданы, когда вы запустили приложение, вошедшее в систему с правами администратора? Таким образом, вы получаете эту ошибку при попытке удалить их позже как обычный пользователь.

1 голос
/ 11 мая 2014

AppData - это защищенная скрытая папка, поскольку она предназначена для того, чтобы ваши приложения хранили данные, относящиеся к приложениям Local, LocalLow и Roaming. Вот почему вам будет предложено ввести запрос UAC, когда вы попытаетесь зайти в папку, и она также будет скрыта от просмотра.

Попробуйте использовать атрибут требования привилегий в своем коде, чтобы запросить повышение прав доступа к папке.

...