2011年02月19日

前バージョンの設定を引き継ぐ方法(C#用メモ)

C#でアプリケーションの設定を保存するにはApplicationSettingsBaseを利用するのが簡単ですが、この設定はアプリケーションのバージョン毎に設定を持つため、バージョンアップ時には前バージョンの設定を引き継ぐ必要があります。
単に引き継ぐだけならUpgrade()を実行すれば良いのですが、これだけだと起動するごとに前バージョンの設定を読み込んでしまい現行バージョンの設定が上書きされてしまうため、Upgradeを実行したかどうかを判断させる必要があります。
まず、「Upgradeを実行したかどうか」の情報をSettingsへ追加します。
bool型で、名前は“IsUpgrade”、初期値はfalseとします。
次に、アプリケーションのイニシャル処理で下記のようにします。

// 前バージョンからのUpgradeを実行していないときは、Upgradeを実施する
if (Properties.Settings.Default.IsUpgrade == false)
{
    // Upgradeを実行する
    Properties.Settings.Default.Upgrade();

    // 「Upgradeを実行した」という情報を設定する
    Properties.Settings.Default.IsUpgrade = true;

    // 現行バージョンの設定を保存する
    Properties.Settings.Default.Save();
}

IsUpgradeの初期値はfalseにしたため、現バージョンで設定を保存していないとき、つまり、新規インストール時,前バージョンからUpgradeされていないとき,両方ともfalseになり、Upgradeが実行されます。
新規インストール時、つまり、前バージョンの情報がないときにUpgradeを実行しても、初期値が有効になるため問題ありません。

良かったらクリックしてください
にほんブログ村 IT技術ブログ プログラム・プログラマーへ  人気ブログランキングへ

posted by among at 22:08 | Comment(0) | TrackBack(0) | C#
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/43938586

この記事へのトラックバック