I have an `app.config` file in Winforms application that holds a connection string. This is to go out to multiple tenant (clients) as a separate file. These clients have different database sources. This config file also holds other version information such as EF, Telerik reporting etc... 

```
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />

```

and 

```
<section name="Telerik.Reporting"  
         type="Telerik.Reporting.Configuration.ReportingConfigurationSection, Telerik.Reporting, Version=8.1.14.804, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" 
         allowLocation="true" allowDefinition="Everywhere" />

```

The problem I have is when we have an updated version of EF or Telerik reporting with our application and we deploy (auto-deploy) this we need to overwrite the `app.config` file in the client directory to update the versions in the client config file. They then lose their connection setting and I do not want the client to have to go and re-enter it. 

My question:

Is there a best practice to overcome this issue? Should I hold the connection string somewhere else?