設定情報どこに保存すべきですか?

このエントリーをはてなブックマークに追加
レジストリ VS /etc VS インストールフォルダ VS My Documents

理由もちゃんと書くこと。
思い込みによる好き嫌いは認めない。

勝負始め!
2鳥取砂丘&rlo;ムレーハ村リ゚フ@&lro; ◆Dream/3P/. :04/02/04 20:17
  よゆうで
 ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄
             。 。
             || ||  /⌒ ヽ.
             / ⌒ヽ( /⌒ヾ )
            ((゚Д゚,,))ゝヽのノノ
           ⊂⊂ _____つ   ))    ))
インストールフォルダへINIファイルとして保存。
電話等でサポートするときに場所を説明しやすいし
他のアプリと衝突する心配もない。
更に「メモ帳を開いて」とやれるので安全。
「レジストリエディタを開いて」って、ちょっとやれないでしょ。
4鳥取砂丘&rlo;ムレーハ村リ゚フ@&lro; ◆Dream/3P/. :04/02/04 20:22
>>3
INIファイルをエディタで中途半端に弄らせるくらいなら
レジストリにしてダイアログで弄れるように汁
INIにすると64K以上読み書きできない。
ついでに複数のユーザで使うと
設定ファイルが複数のユーザで衝突する。
>>5
iniのI/Oルーチンを自分で書けば解決。
ユーザ名.iniにするとか。
>>6
それは自分でI/O書く必要無いだろ
>>6
いっそOSも自分で書けば?
>5
なるほど。
64KBを超える設定情報はレジストリに保存すれば安心だな。
10デフォルトの名無しさん:04/02/04 23:44
どっかのサーバー
>>4
それはユーザの自己責任ということで。
INIファイルを勝手に弄ってトラブったら
ちゃんとフォローしてあげて
頂くものを頂けばそれでよし、と。
nyで(ry
13デフォルトの名無しさん:04/02/05 00:07
c:\ におけばすべて解決じゃん  おまえらなんでわかんないの?
じゃぁ、ぼくはA:\におくことにします
15最凶VB厨房:04/02/05 00:27
>>5
ストリーム使えば?
.NETに移行するとレジストリ保存は廃れる
なぜならレジストリが無いOSへ.NETのソフトを動かすとき(以下略
発想が古いレジストリなんて使わなくで、先を見つめようぜ
17デフォルトの名無しさん:04/02/05 01:24

Win2K だと、INI保存難しくない?
一度調べたけど管理人並みの権限がないと
できなかったような感じだったけど。
>>17
んなーこたない
\Documents and Settings\UserHoge\Application Data\AppHage\
とかに書くのが普通だよね
19デフォルトの名無しさん:04/02/05 02:10
MS的には

・Win3.1→ini
・Win95〜→レジストリ
・.NET→XMLファイル

だよね
自分の「ホームディレクトリ」に ドットで始まる名前を付けて保存すべ
このスレは無事終了いたしました
>>19
XMLはデータ構造を除きiniと同じ問題をそのまま抱えてると思うんだが
シングルユーザーなら、EXEにINIファイルを置く。
マルチユーザーなら、レジストリ。
・Win3.1→カセットテープ
・Win95〜→フロッピーディスク
・.NET→ハードディスク

だよ
>22
XMLファイルは、各ユーザのApplication Data以下に保存するんじゃないの?
26デフォルトの名無しさん:04/02/05 04:03
インストールフォルダで何か問題でも?
unixならインストールフォルダだよね・・・

レジストリだとどんなメリットがあるの?
27デフォルトの名無しさん:04/02/05 04:06
%APPDATA%\ProgramName.ini
が最強。
>>26
第一目的はコピー防止
29デフォルトの名無しさん:04/02/05 04:54
>>26
全ユーザで設定を共有しろとでも?
CD上にインストールされている場合は書き込みエラーが出ても構わないと?
全ユーザに対して、インストールしたフォルダへの書き込み権限を与えろと?
>>18
普通に RegCreateKeyEx が使えますか?

以前試したら、

REGSAM samDesired, // desired security access
LPSECURITY_ATTRIBUTES lpSecurityAttributes,
// address of key security structure

この辺りの関係でうまく逝かなかった記憶があるんで。
>>29
どうしても個人ごとの設定情報が必要な場合、まず設定情報用の
ファイルを作り、アプリケーションを起動したあとに、ユーザーが
それを明示的に読み込めるようにする。
またアプリケーションの起動時にパラメータとしてそのファイル名を
渡せばそれを自動的に読み込むようにしておく。
そして、実行ファイル名と個人ごとの設定情報ファイル名をペアにした
ショートカットを各個人ごとに作成。

同一ユーザーでも複数の設定情報の切り替えが出来て ウマー だが。
>>25
それがiniと同じ問題。
ソフ板のスレで議論されていたけど、
ユーザープロファイル以下に保存されるのを面倒と感じる人も少なくないから。
>>30
AppDataはレジストリとは関係ないだろ。
ユーザの脳みそのぶち込めればなぁ…
35デフォルトの名無しさん:04/02/05 11:26
彼女にぶち込めば?
>>9
MSはレジストリに64KBのようなでかいデータを保存しないように推奨してます。
ポストイット
インストールフォルダにもレジストリにも長所と短所があるから
どちらか一方にしようと言っても反論されるのは当然。
ユーザが保存先を選択できるようにすればよい。
>>38
だからなんでレジストリじゃなかったらインストールフォルダになるんだよ?
インストールフォルダを全ユーザにアクセス許可させる気?
>インストールフォルダを全ユーザにアクセス許可させる気?
全ユーザって…サーバ側の話だったのけ?これ
それならセキュリティの点からもDBで設定も管理するのがよかんべ。
>>40
わかってないなら書き込むなよ。恥ずかしくない?
一台のPCを複数の人が使うような貧しい環境は想定してなかったよ(w
まあシングルで使うやつらは
admnアカウントをそのまま使ってるんだろう
マルチユーザー環境では?
選べるようにしておけばいいね。
まさに多態性。
5台のPCを3人で共有している貧しい環境ですが何か?
>>45
地銀とかですか?
>>1のMy Documentsに保存って、誰も意見ないの?
論外って事だな
マルチユーザならそれぞれ
C:\soft1
C:\soft2
C:\soft3
って独自に掘っておけば安心。
iniファイル or 独自ファイルをカレントに保存、これ最強。
>>39
誰もレジストリとインストールフォルダの二択なんて言ってないよ。
それと全ユーザにアクセス許可されたくなかったらレジストリ選択すればいいだけ。
>>49-39
レベル低!!