0

対応するセットアップ プログラムを含む C# アプリがあります。レジストリからスタートアップ データを読み取り、"Environment.SpecialFolder.ApplicationData"\myapp フォルダーに情報を格納します。

私の質問は: 新しいレジストリ キーを含むコードにさまざまな変更を加えた場合、これを新しいバージョンのどこに反映すればよいので、セットアップを再実行するときに:

  • 現在のレジストリ キー/値を保持
  • 新しいキー/値をレジストリに追加します
  • 「アプリケーションデータ」はそのまま

候補は次のとおりです。

  • 組立情報
  • ファイルのバージョン

他にもあれば教えてください。

ありがとう

4

1 に答える 1

0

アプリケーションでレジストリ キーを作成できるはずです。ユーザーが手動で削除して設定をデフォルトにリセットしたかどうかはわかりません。セットアップでは、コンポーネントのインストールと登録のみを行う必要があります。(ただし、アンインストーラーはユーザーに設定を削除するか保持するかを尋ねる必要があります。)

ソリューション A)

バージョンの競合を避けるために、構成用に追加のバージョン番号を覚えておくことができます。例: プログラム バージョン 1.0 および 2.0 は構成セット 1 を使用し、プログラム バージョン 3.0 は構成セット 2 を使用します。これは、古い/新しい設定があるためです。すべての構成セットのレジストリ ツリーにサブキーを作成するだけです。「アプリケーション データ」には、構成セットが分離されたサブフォルダーを含めることもできます。主な利点は、ユーザーが問題なくダウングレードできることです。新しいバージョンは、古い設定から古い値をデフォルト値としてインポートできます。

ソリューション B)

設定を削除 (またはタイプまたは範囲を変更) しないでください。新しいキーを追加するだけです。古いバージョンのプログラムはそれらを認識していないため、無視しています。異なる構成バージョンがないため、これは非常に単純です。ただし、多くの設定を保存すると、設定の種類を変更できないため、複雑になる可能性があります。例として、設定を整数の保存から倍長整数に変更するには、新しいキーを作成する必要があります。これは、古いバージョンが長整数を理解せず、クラッシュするためです。

于 2011-07-02T15:39:07.067 に答える