2009/11/13(金)正しい事
設定を記憶しておく機能について考えている。
一行一項目で設定項目と設定値を適当な区切り文字で区切った形式にして、設定ファイルはプログラムと同じフォルダに一つ、とすればお手軽簡単すぐ出来る。
でも、Windows Vista 以降でそれはあまりに無粋。実際の所は PC は一人一台で 1ユーザーアカウントの場合が大半だろうし、今の所いなさそうだけど SofTailを使うような人にとってはマルチユーザー環境に対する考慮なんて余計なお世話だろうけども。
でも、マルチユーザー環境を無視した上にプログラムと同じフォルダに設定ファイルを置く、というのはあまりに正しくない。
フリーウェアの多くが、ユーザーが好むから、という理由でそうなってるであろう事は理解しています。
そこで System.Configuration.ConfigurationManager を使って既存の形式の XML で記述、ユーザーごとの AppData フォルダに保存、が素性のいいプログラムだと思うし、そうする予定。でも「アンインストールはプログラムフォルダをゴミ箱にぽい」が好まれるんだろうなぁ、AppData フォルダに保存したら「得体の知れない場所に保存するなんて気持ち悪い」とさえ思われるんだろうなぁ、とも思う。ユーザーいないしやるけど。
アプリケーションの設定ファイルは AppData にあるのが普通ですよ、という話が一般ユーザー向けアプリケーションでも通じる時代になるといいねぇ。エンタープライズ向けアプリケーションではすでに普及してるみたいだけど。
作る人に対しても使う人に対しても Microsoft がもっと啓蒙して欲しい。
設定ファイルの読み書き、インストーラ、アップデート通知まで簡単にできる機能はあるんだから、後は啓蒙だけだと思う。
そんなことより、棒読みちゃんはプラグインのどれかで SofTail 相当のことをすでにやってないか、ということも気になる。ファイルプラグインとかないっすかね。
設定ファイルをどこに置くべきかをぐぐってみたら「むしろ何でプログラムフォルダ以外に置きたいの?」的な反論にあってるパターンが多すぎてびびった。ベテランらしき人でもそれが普通っぽい。これが文化の違いか。個人の設定ファイルはホームディレクトリに置くだろ?