インストーラーとConfigファイル
.net 2.0からアプリケーション構成ファイル(app.config)を使って設定を保存できるようになった。
何かと便利なので、いろいろ設定をして、いざインストーラーを作る段になって気が付いた。
「Configファイルってインストーラーに入れるの?」
まず、ユーザー設定(user.config)は個別に作成されるので、そもそもインストーラーで配布する必要は無い。
で、次にapp.config、これは開発時に必要なものなので、これも配布する必要はない。
最後にアプリケーションの設定が保存されるファイル(<プログラム名>.exe.config)については、配布しても配布しなくてもOK。
これはアプリケーションが設定を参照する際に以下のような順序でアクセスされるため。
①ユーザー設定(user.config)
②アプリケーション設定(“アプリケーション名”.config、例:Project1.exe.config)
③デフォルト値(アプリケーションのデフォルト値、app.configの値が反映される)
基本的にアプリケーションのコンパイル時と配布時にデフォルト値を変えたいというケースは稀だと思われるので、②のアプリケーション設定は基本的に不要だと考えられる。
配布が必要なケースとしては、おそらくリリース後になんらかの理由でデフォルトの変更に迫られた場合などが考えられる。
例えば、為替レートや公共料金など時間とともに変動してしまう値など。