Neatest way of preserving application settings between upgrades?
<p>Our product has several user-defined settings, which to date have been stored using the project's Settings variables, e.g.</p>

<pre><code>public string MySetting {
  get { return Settings.Default.MySetting; }
  set { 
    Settings.Default.MySetting = value;
    Settings.Default.Save();
  }
}
</code></pre>

<p>That works fine - but it has the unfortunate characteristic that if you uninstall the app and reinstall a newer version (no direct upgrade path exists - don't ask), all the settings are lost.</p>

<p>I can think of a few ways of achieving this, but they all seem a bit kludgy to me.  What do you think is the neatest way of preserving user-defined application settings between uninstalling &amp; reinstalling?</p>
