Лучший каталог для хранения данных приложения с правами чтения \ записи для всех пользователей? - PullRequest
6 голосов
/ 10 апреля 2010

До Windows Vista я сохранял данные своего приложения в каталоге, в котором находилась программа. Наиболее распространенным местом было «C: \ Program Files \ MyApplication». Как мы знаем, в Vista и более поздних версиях обычный пользователь не имеет прав на запись в папку «Program Files». Поэтому моей первой идеей было сохранить данные приложения в папке «Все пользователи \ Данные приложения». Но, похоже, у этой папки тоже есть ограничения на запись!

Итак, подведем итог, мои требования:

  • Папка должна существовать под Windows XP и выше.
  • Все пользователи системы должны иметь права на чтение \ запись \ создание этой папки, ее подпапок и файлов.
  • Я хочу иметь только одну копию файла \ файлов для всех пользователей.

Ответы [ 3 ]

2 голосов
/ 10 апреля 2010

Часто полезно использовать переменные окружения, чтобы вы делали вещи более общими.

Vista изменила некоторые вещи с помощью точек соединения NTFS. Смотри http://www.svrops.com/svrops/articles/jpoints.htm

В любом случае, использование% appdata% должно автоматически поместить файлы в нужное место на xp / vista / 7

1 голос
/ 11 апреля 2010

Там нет такого места. Даже в Windows XP (и, вероятно, также в 2000) такого расположения не было; мы просто думаем, что так и было, потому что мы все работали с административными привилегиями. Только когда Vista заставит нас работать как пользователь с ограниченными правами, мы осознаем наши неверные предположения. Вам нужно будет явно установить разрешения для вашего каталога.

0 голосов
/ 11 апреля 2010

Я бы создал подпапку «Все пользователи \ Application Data \ YourAppName \ Shared», чтобы было ясно, что именно в этой папке будут находиться файлы, доступные для записи всем пользователям, и настройки привилегий в установщике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...