Мое приложение Windows XP используется несколькими пользователями, и все они имеют административный доступ. Пользователи совместно работают над набором общих файлов данных через мое приложение. В настоящее время мы делаем местоположение по умолчанию для этих данных подкаталогом папки приложения в файлах программы. Пожалуйста, не зажигайте меня, это было не мое решение.
Во всяком случае, пришло время взглянуть на Windows 7, и я не вижу очевидного соответствия тому, где сделать расположение данных по умолчанию. Я бы хотел решение, где все пользователи могли бы иметь полный контроль над всеми файлами, не будучи администраторами.
Очевидно, что что-либо в домашней папке текущего пользователя (\users\ on 7, я считаю) неуместно, учитывая, что данные "принадлежат" нескольким пользователям. Параметры безопасности по умолчанию в папке «Все пользователи \ Общие документы», по крайней мере в XP, тоже неверны. Он настроен так, что любой пользователь может добавлять в него новые файлы / каталоги или изменять файлы / каталоги, созданные другими пользователями, но удалить их может только создатель / владелец. Один пользователь этого приложения может создать файл, а другой - переместить или удалить его. Все, что находится в файлах Программы, является философски неуместным и практически неуместным из-за виртуализации папок.
Итак, должен ли мой установщик создать подпапку в разделе "Общие документы" (используя соответствующие API-интерфейсы оболочки, чтобы она была переносимой, конечно), которая имеет специальные правила доступа для безопасности, позволяющие кому-либо что-либо делать? Или более уместно сделать так, чтобы за пределами стандартных папок пользовательских данных Windows говорилось «c:\data», а затем давалось всем полное разрешение? Есть ли другой, лучший способ, которого мне не хватает?
редактировать
Насколько я понимаю, что All Users\Shared Documents - это место со специальными правилами квот, разработанными для очень специфического DACL в этой папке. Я хочу соответствовать стандартам Windows, и если неуместно создавать в этом месте подпапку, которая позволяет любому пользователю делать что-либо, я хотел бы знать, какова альтернатива.