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