Это нормально, что моей программе нужны права администратора даже для открытия файла? - PullRequest
3 голосов
/ 24 сентября 2011

Когда я устанавливаю свою программу .NET в C: \ Program Files и запускаю ее, она не запрашивает права администратора (Win7), но не может открыть файл в каталоге приложения, пока я не предоставлю права администраторак нему вручную.Если он не на C, он работает хорошо.

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

Я читал на SO, что программное обеспечение не должно ничего записывать в Program Files после его установки, но оно даже не может прочитать файл (например, языковые файлы).У меня тоже есть файл базы данных, который программа читает и записывает, так куда мне поместить этот файл?

Поэтому мне интересно, нормально ли не иметь права на чтение файла без прав администратора,Как я могу заставить программу запрашивать права администратора, только если это необходимо?

РЕДАКТИРОВАТЬ Я вошел в систему как системный администратор.

1 Ответ

2 голосов
/ 24 сентября 2011

Обычный пользователь не имеет прав записи в папке «Progrem Files».Вы должны быть в состоянии читать (контент) файлы, однако.Как вы открываете файлы для чтения?

Правильный способ - использовать назначенную папку.Используя WinForms, это будет что-то вроде

string dataFolder = Environment.GetFolderPath(
      Environment.SpecialFolder.ApplicationData);
...