Сведения о вопросе

Junior

15:22, 13th August, 2020

Теги

Параметры разрешений ввода-вывода с помощью установщика .net

Просмотров: 440   Ответов: 2

Я создаю программу, которая будет установлена с помощью проекта установщика .net. Программа записывает файлы настроек в свой каталог в директории Program Files dir. Он считает, что есть некоторые параметры active directory, которые будут препятствовать приложению восстанавливать права на этот каталог, если ограниченный пользователь запускает программу. Есть ли возможность изменить настройки для папки приложения через установку, чтобы это не было проблемой?



  Сведения об ответе

LIZA

08:46, 19th August, 2020

Запись в папку Program Files-это действительно плохая идея, вы должны предположить, что это место "read only" после установки.

Сохранение пользовательских настроек в файлах программы вызывает проблемы, если более двух человек используют компьютер одновременно (например. Terminal услуги) кто настройки должны быть сохранены, вы хотите, чтобы другие пользователи знали 'your' настройки? Что произойдет, если ваша программа записывает настройки в файл как пользователь A, но пользователь B не может редактировать файл? Пользователь B может иметь доступ к каталогу, но не читать / удалять файл предпочтений, так как он принадлежит пользователю A.

Устаревшие программы win9x часто пишут в папку program files, Windows Vista на самом деле делает некоторые аккуратные трюки, чтобы эти программы работали. Когда ваша программа записывает файл, vista фактически помещает его в другое место, доступное только этому пользователю. То же самое делается для записи реестра в HKLM (или так я обнаружил после нескольких часов отладки...) и сервер 2008 делает то же самое.

Если вам нужно сохранить пользовательские настройки, лучшим вариантом будет сохранить настройки в папке данных приложения (переменная окружения %APPDATA%)

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

Итак, чтобы ответить на ваш вопрос - YES есть способ сделать то, что вы попросили. Но это плохая идея, она небезопасна и, вероятно, вызовет проблемы в долгосрочной перспективе.


  Сведения об ответе

SILA

17:58, 19th August, 2020

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

Лучший вариант-вообще не писать в каталоги в разделе Program Files.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться