Re: Место для App.config с максимальным Фэнь Шуем.
От: Sinix  
Дата: 13.04.15 13:52
Оценка: 6 (2) +1
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>В самом простом случае конфиг лежит рядом с экзешником. Но если программа ставится в "правильные" "C:\Program Files\" и конфиг должен изменяться. То куда его класть, что бы он подцеплялся автоматом?


Обычно никуда. app.config должен содержать только т.н. machine-wide settings, т.е. те, что влияют на все инстансы приложения, запущенные на текущей машине.

Давать простым пользователям доступ на изменение этого файла — потенциальная дыра в безопасности. Никто не мешает добавить что-то типа
  <listeners>
        <add name="badListener" type="KillEmAllListener, EvilCode.Inc" />
  </listeners>

и с интересом ждать запуска из-под администратора.

Для частных случаев есть свои решения, но для начала надо знать, какую проблему вы хотите решить перемещением app.config.
Re[3]: Место для App.config с максимальным Фэнь Шуем.
От: vmpire Россия  
Дата: 16.04.15 13:37
Оценка: +3
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>>>В самом простом случае конфиг лежит рядом с экзешником. Но если программа ставится в "правильные" "C:\Program Files\" и конфиг должен изменяться. То куда его класть, что бы он подцеплялся автоматом?

N_C>>Туда же — рядом с экзешником. В чем проблема, что он лежит в "правильном" или в "неправильном" месте?
UPS>Современные винды для того, что бы изменить что-то, лежащее в Program Files требуют элевэйтед привилегий.
А зачем его там менять после установки? Это логически просто часть продукта.
А если вы хотите в нём хранить пользовательские настройки программы — то вам нужен совсем другой файл.
Место для App.config с максимальным Фэнь Шуем.
От: UberPsychoSvin  
Дата: 13.04.15 09:18
Оценка:
В самом простом случае конфиг лежит рядом с экзешником. Но если программа ставится в "правильные" "C:\Program Files\" и конфиг должен изменяться. То куда его класть, что бы он подцеплялся автоматом?
Re: Место для App.config с максимальным Фэнь Шуем.
От: Nikolay_Ch Россия  
Дата: 13.04.15 09:25
Оценка:
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>В самом простом случае конфиг лежит рядом с экзешником. Но если программа ставится в "правильные" "C:\Program Files\" и конфиг должен изменяться. То куда его класть, что бы он подцеплялся автоматом?

Туда же — рядом с экзешником. В чем проблема, что он лежит в "правильном" или в "неправильном" месте?
Re[2]: Место для App.config с максимальным Фэнь Шуем.
От: UberPsychoSvin  
Дата: 13.04.15 12:45
Оценка:
Здравствуйте, Nikolay_Ch, Вы писали:

N_C>Здравствуйте, UberPsychoSvin, Вы писали:


UPS>>В самом простом случае конфиг лежит рядом с экзешником. Но если программа ставится в "правильные" "C:\Program Files\" и конфиг должен изменяться. То куда его класть, что бы он подцеплялся автоматом?

N_C>Туда же — рядом с экзешником. В чем проблема, что он лежит в "правильном" или в "неправильном" месте?
Современные винды для того, что бы изменить что-то, лежащее в Program Files требуют элевэйтед привилегий.
Re[3]: Место для App.config с максимальным Фэнь Шуем.
От: Nikolay_Ch Россия  
Дата: 13.04.15 13:39
Оценка:
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>Современные винды для того, что бы изменить что-то, лежащее в Program Files требуют элевэйтед привилегий.

Теперь понял... Может это поможет?
Re: Место для App.config с максимальным Фэнь Шуем.
От: GlebZ Россия  
Дата: 13.04.15 16:01
Оценка:
Здравствуйте, UberPsychoSvin, Вы писали:

UPS>В самом простом случае конфиг лежит рядом с экзешником. Но если программа ставится в "правильные" "C:\Program Files\" и конфиг должен изменяться. То куда его класть, что бы он подцеплялся автоматом?

Если очень надо, то есть VirtualStore. Для конфигов не использовал, просто говорю о существовании механизма обхода.http://stackoverflow.com/questions/3219255/why-do-files-get-placed-in-c-users-usernameappdata-local-virtualstore-progra
Что касается хранения изменяемых данных, то кошерно

Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);

Для хранении на уровне пользователей:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

Отредактировано 13.04.2015 16:03 GlebЗ . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.