Чтобы ответить на первый вопрос, технически вы можете поместить файл в любое место, однако вам придется кодировать его самостоятельно, поскольку по умолчанию файл попадает в первый из двух примеров. ( ссылка как сделать самому )
Что касается второго вопроса, это зависит от того, как вы развертываете приложение. Если вы выполняете развертывание через .msi, тогда в свойствах проекта установки (из которого создается msi) есть два хэша: «код обновления» и «код продукта». Они определяют, как можно установить msi, и будет ли он обновляться, перезаписываться или устанавливаться вместе с любой другой версией того же приложения.
Например, если у вас есть две версии вашего программного обеспечения и у них разные коды «обновления», то для Windows это совершенно разные части программного обеспечения независимо от названия. Однако, если код «обновления» такой же, но код «продукта» отличается, то при попытке установить второй msi он спросит вас, хотите ли вы выполнить обновление, и в этот момент предполагается скопировать значения из старый конфиг в новый конфиг. Если оба значения совпадают, а номер версии не изменился, тогда новая конфигурация будет в том же месте, что и старая конфигурация, и ей не нужно будет ничего делать. Документация MSDN
ClickOnce немного отличается, потому что он основан больше на версии ClickOnce № и URL-пути, однако я обнаружил, что, пока вы продолжаете «Публиковать» в том же месте, новая версия приложения будет продолжать использовать существующий конфиг. ( ссылка на то, как ClickOnce обрабатывает обновления )
Я также знаю, что есть способ вручную объединить конфигурации во время установки msi с помощью пользовательских сценариев установки, но я не помню точных шагов, чтобы это сделать ... (см. Эту ссылку, чтобы узнать, как это сделать с помощью Интернета. config)