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





Вы можете написать собственный класс установщика, который может изменять разрешения безопасности папки. Это предполагает, что установка выполняется пользователем, у которого есть разрешение на изменение безопасности файла / каталога.
Наилучший вариант - вообще не писать в каталоги в Program Files.
Запись в папку Program Files - действительно плохая идея, вы должны предполагать, что после установки это место будет «только для чтения».
Сохранение пользовательских настроек в Program Files вызывает проблемы, если более двух человек используют компьютер одновременно (например, службы терминалов), чьи настройки должны быть сохранены, хотите ли вы, чтобы другие пользователи знали «ваши» настройки? Что произойдет, если ваша программа записывает настройки в файл как пользователь A, но пользователь B не может редактировать файл? Пользователь B может иметь доступ к каталогу, но не может читать / удалять файл настроек, поскольку он принадлежит пользователю A.
Устаревшие программы win9x часто записываются в папку с файлами программ, Windows Vista на самом деле делает некоторые хитрые уловки, чтобы эти программы работали. Когда ваша программа записывает файл, vista фактически помещает его в другое место, доступное только этому пользователю. То же самое делается для записи реестра в HKLM (по крайней мере, я обнаружил после нескольких часов отладки ...), и Server 2008 делает то же самое.
Если вам нужно сохранить пользовательские настройки, лучшей альтернативой будет сохранение настроек в папке Application Data (Environment Variable% APPDATA%).
Если настройки являются общесистемными, то пользователь с правами администратора должен установить их после установки или при первом запуске, и они не должны быть перезаписаны ограниченными пользователями.
Итак, чтобы ответить на ваш вопрос - ДА, есть способ сделать то, что вы просили. Но это плохая идея, она небезопасна и, вероятно, вызовет проблемы в долгосрочной перспективе.