using System; using System.Collections.Generic; using System.Configuration; using System.Windows.Forms; namespace SettingsVersioningSample { static class Program { /// /// The main entry point for the application. /// [STAThread] static void Main() { Application.EnableVisualStyles(); //// Check if upgrade required //Properties.Settings.Default.Reload(); //if( Properties.Settings.Default.UpgradeRequired ) { // // Selectively migrate settings from previous version // string oldValue = (string)Properties.Settings.Default.GetPreviousVersion("userSettingv1"); // Properties.Settings.Default.userSettingv1 = oldValue; // // Prevent further upgrades // Properties.Settings.Default.UpgradeRequired = false; // Properties.Settings.Default.Save(); //} try { // Check if upgrade required if( Properties.Settings.Default.UpgradeRequired ) { // Bulk migrate settings from previous version Properties.Settings.Default.Upgrade(); Properties.Settings.Default.Reload(); // Upgrade and prevent further attempts Properties.Settings.Default.UpgradeRequired = false; Properties.Settings.Default.Save(); } } catch( Exception ex ) { string msg = string.Format("{0}\n\nTry again next time?", ex.Message); DialogResult result = MessageBox.Show( msg, Application.ProductName, MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if( result == DialogResult.No ) { // Prevent further upgrades Properties.Settings.Default.UpgradeRequired = false; Properties.Settings.Default.Save(); } } Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm()); } } }