既存の回答には多大な支障がありますが、私はもう1つの点について言及しています。
システム全体の設定を保存するために、レジストリを使用します。つまり、2つ以上のプログラムがまったく同じ設定を必要とする場合です。言い換えると、いくつかのプログラムによって共有される設定です。
他のすべてのケースでは、実行可能ファイルと同じパスまたは(Configurationディレクトリ内の)1つ下のレベルのいずれかにあるローカル構成ファイルを使用します。理由はすでに他の回答(ポータブル、テキストエディタなどで編集可能)でカバーされています。
なぜシステム全体の設定をレジストリに入れるのですか?まあ、私は設定が共有されているが、ローカルの設定ファイルを使用する場合は、設定を複製することを発見した。これにより、複数の場所で設定を変更する必要が生じる可能性があります。
例えば、プログラムAとプログラムBの両方が同じデータベースを指しているとします。接続文字列の "システムワイド"レジストリ設定を行うことができます。別のデータベースを参照する場合は、接続文字列を1か所で変更することができ、両方のプログラムが他のデータベースに対して実行されるようになります。
注 - 2つ以上のプログラムで同じ値を使用する必要がない場合は、この方法でレジストリを使用する必要はありません。プログラムAとプログラムBの両方で、データベース接続文字列が必要なのは、ですが、必ずしもそうではありません。たとえば、プログラムBはテストデータベースを使用しますが、プログラムAは本番データベースを使用して実行する必要があります。
上記の例では、一部のローカル設定をシステム全体の設定より優先させることができますが、単純な作業では過度に複雑になることがあります。
JSONは、今日の単純なデータファイルで広く使用されているもう1つの形式です。 – jpmc26
欠けている点:新しいウィンドウを再インストールすると、iniファイルが削除されません。集中化されたデータベースをミューテックス化する必要があります。ここでは、マルチレベルのロールバック可能なトランザクションを使用してOracleの品質について語っていません。クリーナー/アンチウイルスツールは、人のレジストリを混乱させることを愛しています。レジストリはファイルシステム内のファイルシステムにすぎません。これは反パターンですhttp://en.wikipedia.org/wiki/Inner-platform_effect ... –
INIファイルはより良いシステムです。成功した起動時のアプリケーションは、INIのバックアップを保存するだけで、破損を防ぐことができます。 – Mario