Visual Studio Setup Project устанавливает файлы в ProgramData с разрешениями на чтение и запись - PullRequest
1 голос
/ 28 декабря 2011

Я пытаюсь включить файл, который с моим приложением Windows Forms будет доступен для чтения и записи для всех пользователей. Мне удалось заставить проект установки установить файлы в папку ProgramData, используя пользовательскую папку со свойством DefaultLocation, установленным в [CommonAppDataFolder]. Я также смог заставить свою программу читать эти файлы, используя Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData). Но все файлы помечены как доступные только для чтения.

Есть ли еще одна папка, в которую я должен установить эти файлы, которая предоставит общий доступ всем пользователям с правами на чтение и запись?

Я нашел несколько тем здесь , здесь и здесь . Но они не отвечают на вопрос, какую папку мне использовать, чтобы получить общий доступ для чтения и записи для всех пользователей.

Любые мысли приветствуются. Заранее спасибо.

1 Ответ

3 голосов
/ 28 декабря 2011

Создание подпапки в папке CommonApplicationData и настройка разрешений во время установки является правильной и является Microsoft "One True Way" :

Вопрос: Где хранить данные чтения / записи для всех пользователей?

Ответ: Рекомендуется использовать папку ProgramData (% ALLUSERSPROFILE%) (например, создать ProgramData \\) и обновить список управления доступом (ACL) в соответствии ск вашему требованию , во время установки.Вам может пригодиться ресурс MSDN для отдельных машин по адресу http://msdn2.microsoft.com/en-us/library/aa370810.aspx.

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

...