C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■102576 / 1階層)  vb.net バージョンアップで前設定を更新したい
□投稿者/ 魔界の仮面弁士 (3715回)-(2023/11/19(Sun) 11:41:57)
No102575 (エイコウ さん) に返信
> マイナーバージョンアップで上書きインストールしたときに
> ユーザースコープの設定が初期化されてしまいます
> なので前バージョンの設定を引き継ぎたいと考えています

ClickOnceアプリですね。

既にご自身でお読みになっているサイトの「前バージョンの設定を取得する」の項に記載されていますように、
My.Settings.Upgrade() を呼び出すと、直前のバージョンの設定を引き継ぐことができます。
既に設定済みで呼び出すと上書きされてしまうので、バージョンアップ直後に一回だけ呼び出すようにしましょう。


よくある常套手段として…ユーザースコープに Boolean 型の項目、
たとえば「IsUpgraded」といったメンバーを用意しておき、
その初期値を False にしておきます。そのうえで
 If Not My.Settings.IsUpgraded Then
  My.Settings.Upgrade()
  My.Settings.IsUpgraded = True
  My.Settings.Save()
 End If
のようにするという方法が知られています。

ちなみに C# の場合もほぼ同様です。
https://qiita.com/minoru-nagasawa/items/946831c9c0c3513dae12
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←vb.net バージョンアップで前設定を更新したい /エイコウ →Re[2]: vb.net バージョンアップで前設定を更新したい /エイコウ
 
上記関連ツリー

vb.net バージョンアップで前設定を更新したい / エイコウ (23/11/19(Sun) 11:08) #102575
vb.net バージョンアップで前設定を更新したい / 魔界の仮面弁士 (23/11/19(Sun) 11:41) #102576 ←Now
  └ Re[2]: vb.net バージョンアップで前設定を更新したい / エイコウ (23/11/19(Sun) 15:37) #102577 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信