トップページ⇒software
1001コメント331KB

レジストリ VS INI

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。03/03/21 12:14ID:fuz83YDo
一応、過去スレ。
レジストリVSプライベートINI
http://pc.2ch.net/software/kako/1006/10064/1006419607.html
「プライベートINI」という名称は必ずしも一般的じゃないし、
WIN.INI 使ったりシステム・ディレクトリ内に INI 作ったりすることの問題に
触れるのも必ずしも無駄ではないと思われなので、改題しました。
では、どうじょ。
0449名無しさん@お腹いっぱい。04/06/08 05:07ID:MSqVVYK4
>>448
段々スレ違いになってるけど、
「フォルダに解凍して下さい」じゃなくて、
「解凍したファイルは適当なフォルダにまとめて置いて下さい」とかでいいじゃん。
解凍=インストール じゃないだろ。
0450名無しさん@お腹いっぱい。04/06/08 06:11ID:/GMGnLat
適当なフォルダにまとめて置く=インストール なのか?
インストールの手段が解凍であってもいいとおもうけどな。
0451名無しさん@お腹いっぱい。04/06/08 06:18ID:lxTCqO6j
解凍したらexeを実行するだけで使用できるソフトの場合は
解凍(DL→解凍) = インストール だね。
0452名無しさん@お腹いっぱい。04/07/11 01:19ID:T4WE9/bl
>>446
そうかな?
そういうreadmeのソフトはiniを使っている傾向が高いと思うけど。
0453名無しさん@お腹いっぱい。04/07/31 17:15ID:L66GOjJT
INIファイルいい加減使うのやめれ
余計にファイル数増やすなっての
0454名無しさん@お腹いっぱい。04/07/31 17:19ID:InTjpf6H
試してる期間中はini。正式利用時にレジストリになるのがいいな。
0455名無しさん@お腹いっぱい。04/08/02 10:26ID:s0cpz5ZS
ちゃんと掃除してくれるならレジストリでも許す。
ゴミを残すのならiniファイルだろうとレジストリだろうと俺は嫌だ。
0456名無しさん@お腹いっぱい。04/08/02 11:21ID:kal+nwDZ
レジストリは、ある項目を削除しても「最適化」しない限りサイズが減ることはなく、
永久に肥大化し続けるんじゃなかったっけ?
だからiniの方がいいな
0457名無しさん@お腹いっぱい。04/08/04 14:53ID:pNr4l762
INI嫌い。
http://pc5.2ch.net/test/read.cgi/software/1023253730/472
みたいになるから
0458名無しさん@お腹いっぱい。04/08/04 16:01ID:2eGKrjUt
それは
レジストリの書き込み中に(ry
も同じだろ…
0459名無しさん@お腹いっぱい。04/08/04 16:55ID:nxircjAI
>>456
消した所は再利用されるからあんまりサイズ増えないよ
0460名無しさん@お腹いっぱい。04/08/04 17:03ID:T1X70emL
イニ
0461名無しさん@お腹いっぱい。04/08/04 17:22ID:/uEvxrru
レジストリだとほとんどの場合、1クリックでレジストリを元に戻してくれたり、
アンインストール専用のexeがあったりするけど、
たまに、
手動で削除するように書いてあったり、間違えて削除した場合困る、ホント
0462名無しさん@お腹いっぱい。04/08/04 18:56ID:QEZjU4To
>>457
>>458

むしろレジストリのときのほうが被害が大きいような
0463名無しさん@お腹いっぱい。04/08/04 19:02ID:ZyQpuevJ
書き込み中にPCが落ちるような環境をどうにかしたほうが良いな。
0464名無しさん@お腹いっぱい。04/08/04 19:06ID:K3FoY2l5
コメント行に冴えないジョークがあったりすると最高っす
0465名無しさん@お腹いっぱい。04/08/04 19:37ID:pNr4l762
そうだ

設定ファイルをDAT形式にすれば委員だYO
0466名無しさん@お腹いっぱい。04/08/05 03:41ID:yMLAs8V3
>>459
中途半端に隙間ができると二度と再利用されなかったりするし
0467名無しさん@お腹いっぱい。04/08/05 06:08ID:4iOa9Xu3
システム設定を変更してしまう危険性がないように、
ユーザーアプリの設定箇所だけを見せるビューワがあれば
レジストリももっと使いやすくなるんじゃないか?
0468名無しさん@お腹いっぱい。04/08/05 13:53ID:2cjKANjS
MSが馬鹿だとレジストリができへん
0469名無しさん@お腹いっぱい。04/08/05 14:18ID:w17DlpIF
INIファイルよりDATファイルの方が有利
余計なサイズ食わないから
0470名無しさん@お腹いっぱい。04/08/05 14:21ID:R+nUNV08
テキストなので余計なバイト喰いまくり
0471名無しさん@お腹いっぱい。04/08/05 16:46ID:5QNL71cU
470はエロ店長
0472名無しさん@お腹いっぱい。04/08/05 17:03ID:VIp2+WU5
仁
0473名無しさん@お腹いっぱい。04/08/06 07:58ID:pG21KKPC
>>467
それでも関係ないアプリの設定を破壊する危険はあるわけだし
そもそもエンドユーザーが直接いじることは想定してないんだよ
iniと違って簡単に触れないのは(MS的には)メリットなのだ
0474名無しさん@お腹いっぱい。04/08/06 16:39ID:umegeI0W
レジストリのメリットはハッシュ構造だから高速な事じゃなかったの?
0475名無しさん@お腹いっぱい。04/08/06 17:55ID:pG21KKPC
>>474
MSはどちらも主張している
0476名無しさん@お腹いっぱい。04/08/07 00:23ID:GSbn6v+r
INIってファイルサイズ食い過ぎじゃない?
DATでいいよ、もう
0477名無しさん@お腹いっぱい。04/08/07 00:28ID:+AyCWOGG
DATも喰いすぎ。
終了時にパスワードでいいよ
0478名無しさん@お腹いっぱい。04/08/07 01:45ID:NH6IQI62
ふっかつのじゅもんで十分だよな。
たまに描違えるけど。
0479名無しさん@お腹いっぱい。04/08/10 18:19ID:CQTvWdX4
age
0480名無しさん@お腹いっぱい。04/08/13 14:52ID:5flw6Sct
結論:どちらもデメリットありすぎ
0481名無しさん@お腹いっぱい。04/08/13 19:52ID:/+XEq4Vm
penis.ini
0482名無しさん@お腹いっぱい。04/08/13 20:02ID:CYMwOZEk
>480
レジストリもiniもダメなら、どうしたらいいんだ?
0483名無しさん@お腹いっぱい。04/08/13 21:57ID:SNlB4TlQ
広告の裏にでも書いとけ、な。
0484名無しさん@お腹いっぱい。04/08/13 22:27ID:hHTuMKL3
自己書換
0485名無しさん@お腹いっぱい。04/08/13 22:55ID:1C1FXlC0
実行ファイルが内部に値を持つ。
変更不可。
0486名無しさん@お腹いっぱい。04/08/16 10:02ID:89DBrmnG
>結論:どちらもデメリットありすぎ

それをカバーできるメリットがあれば問題無し
0487名無しさん@お腹いっぱい。04/08/16 11:38ID:2qSgWeVn
レジストリのデメリット
・プログラミング工数が増える
・レジストリを起因としたバグが増える
・レジストリその物が壊れやすい

・バックアップが複雑化する
・レジストリバックアップを自動的に行うスケジュールをユーザーが簡単に組めない
・部分的なバックアップを自動的に行うスケジュールをユーザーが簡単に組めない
・ネットワークドライブでデータをリアルタイム共有できない

・ファイルのような一般的な作業方法での運用ができない
・比較の為のコストが掛かる
・検索の為のコストが掛かる
・元の環境へ再現する為のコストが掛かる

・データ入力のためのコストが掛かる
・データ出力のためのコストが掛かる
0488名無しさん@お腹いっぱい。04/08/16 11:40ID:2qSgWeVn
〜結論〜


 レジストリはめんどくさいんじゃボケ


0489名無しさん@お腹いっぱい。04/08/17 00:06ID:z6v9Z2Q+
iniのデメリット
・iniを起因としたバグが増える
・保存のタイミングなどで、iniファイルそのものが壊れやすい

・部分的なバックアップを自動的に行うスケジュールをユーザーが簡単に組めない

・レジストリのような一般的な作業方法での運用ができない
・セクションごとのアクセス権を細かく設定できない
・比較のためのコストが掛かる
・検索のためのコストが掛かる
・元の環境へ再現するためのコストが掛かる

・データ入力のためのコストが掛かる
・データ出力のためのコストが掛かる

〜結論〜
ほとんどiniにも当てはまります
0490名無しさん@お腹いっぱい。04/08/17 01:24ID:bgyJIXQE
それはないね
0491名無しさん@お腹いっぱい。04/08/17 02:21ID:1GI0RN2D
>>487 はちょっとどうかと思ったが、>>489 は明らかにメチャメチャ。
0492名無しさん@お腹いっぱい。04/08/17 02:39ID:0Onzq0HB
プログラミングはregのほうががラクだ
EnumやDeleteとかも使えるし。

工数増えるってopenとcloseだけでしょ。
iniのほうがファイル名決めたりせにゃいかんのでめんどいよ
0493名無しさん@お腹いっぱい。04/08/17 02:40ID:0Onzq0HB
バイナリぶち込むとかもできんしな
0494名無しさん@お腹いっぱい。04/08/17 04:35ID:j0VQU4fm
iniはリニアサーチだから遅い。
0495名無しさん@お腹いっぱい。04/08/18 00:50ID:U+aD0Ctn
>>493
BASE64でエンコード、デコードする荒業がないこともない。
そんなことするくらいなら素直にレジストリを使うべきだが。
0496名無しさん@お腹いっぱい。04/08/18 01:04ID:W1ACIkt6
夏休みらしく目新しい意見が一切ないな
0497名無しさん@お腹いっぱい。04/08/18 23:12ID:lNMwBgDF
それのどこが荒技なんだと小一時間
0498名無しさん@お腹いっぱい。04/08/19 00:10ID:b40AlNVp
結局、レジストリって前処理がめんどくさいよ。
文字列とか配列構造そのまんまで書けないし。

あと、バイナリと、数値と、文字列と、色々きちんと指定しないと壊れるし。
デリケートすぎるんだよな。エラー処理も不完全だし。
テキストの方がこれまでのノウハウが生かせて固く仕上げられるし、
工数もあんまり掛からない。
64kの壁とかも設定ファイルなら気にならないし、ディレクトリ構造が
/ini/以下とかになってりゃそこそこ使えた。
0499名無しさん@お腹いっぱい。04/08/19 00:42ID:rzFa1wK+
RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\maker\\app");
key.SetValue("name", obj);

これのどこが面倒なんだ?
0500名無しさん@お腹いっぱい。04/08/19 00:50ID:uuTKmTUI
黙ってXML使えと。
0501名無しさん@お腹いっぱい。04/08/19 02:32ID:gVAate/P
>>498
もっとちゃんとした知識をつけてから発言しよう
0502名無しさん@お腹いっぱい。04/08/19 05:46ID:Cs5yXLWk
Delphiで悪いが

reg = TRegIniFile.Create('Software\ORENO\APPLI');
reg.WriteInteger('Section', 'Ident', Value);
Value := reg.ReadInteger('Section', 'Ident', Default);
reg.Free;

ini = TIniFile.Create( ExtractPath(Application.Exename) + 'oreno_data.ini' );
ini.WriteInteger('Section', 'Ident', Value);
Value := ini.ReadInteger('Section', 'Ident', Default);
ini.Free;

工数ねぇ
0503名無しさん@お腹いっぱい。04/08/19 07:58ID:B8cHMCIm
で、エラートラップはできないんだろ?
0504名無しさん@お腹いっぱい。04/08/19 11:29ID:B8cHMCIm
ファイルならFileOperationErrorでなんかで受けられるよな。
レジストリは書き込みに失敗したとか取得に失敗したとか
エラートラップできんの?
0505名無しさん@お腹いっぱい。04/08/19 12:25ID:rqlYYQ9P
トラップも何も戻り値で成功か失敗か分かるじゃん。
>>502みたいにライブラリでカプセル化されてれば例外吐くなりなんなりするだろうし。
0506名無しさん@お腹いっぱい。04/08/19 12:30ID:rqlYYQ9P
というかiniのGetPrivateProfile系の方がエラー取得出来ない。
存在しなくても勝手にデフォルト値入れちゃうじゃん。
0507名無しさん@お腹いっぱい。04/08/19 12:43ID:B8cHMCIm
Java以外は例外が糞。
.netはWINの不安定性がモロかぶりでお話の外。
Delはクロスプラットフォームじゃないので論外。
C++はオブジェクト指向じゃないので却下。

JavaはレジカキコがJNIしかない。

結論的にレジは糞。
0508名無しさん@お腹いっぱい。04/08/19 12:47ID:SzUDAAMZ
>>507
すみません、バケツの中見せてもらっていいですか?
0509名無しさん@お腹いっぱい。04/08/19 12:50ID:zjAmJYe3
.NETでXML。これだろ。

Javaって(笑)
0510名無しさん@お腹いっぱい。04/08/19 14:48ID:ppE4kHP9
95使ってた時にあるソフトウェアがレジストリに漢字を書き込んでてな
それ以降のレジストリが読んでくれなくなったときがあった。
いろいろ調べて原因がそこにあるとわかってさくっと削除したら問題は解決したのだが。。
あれ以来、レジストリ使うソフトウェアには拒否反応が出るようになったなぁ。
0511名無しさん@お腹いっぱい。04/08/19 16:32ID:rqlYYQ9P
やっぱレジストリ最強だね。
Portabilityが必要な時だけXMLでも使えばいい。
C++ならXerces-C++やらexpatやらMIXやらyggdrasilやら
どれでも好きなライブラリ使えばいい。
0512名無しさん@お腹いっぱい。04/08/21 10:36ID:YhnsmKOU
>>507
たしかJDK1.4以降なら、JNIに頼らなくても、レジストリ書き込めますよん。
意識的にではないので、うわーいレジストリだ、ゴーリゴーリってな感じではないんですが。

java.util.prefs.Preferences で。
パッと見APIドキュメントには書いてないけど。

#側面から釣られてみた
0513名無しさん@お腹いっぱい。04/08/22 14:03ID:YB80stvP
レジストリは終わってるが、
javaにも未来はない。

既に手に付いてる人間の間で
しばし続くだけ。
0514名無しさん@お腹いっぱい。04/09/09 22:02ID:u5BqzNS2
1秒ごとに読みにいってるtclockとその派生アプリ
はどうよ。iniかレジストリか選択できるけど
0515名無しさん@お腹いっぱい。04/09/10 00:35ID:9+ohSbWl
キャッシュに入るだろうからほとんど問題ないな
0516名無しさん@お腹いっぱい。04/09/12 12:04:47ID:/7olXoES
iniだと毎回リニアサーチするから遅いけどな
0517名無しさん@お腹いっぱい。04/09/12 14:24:29ID:Se+Gdy+S
GetPrivateProfileSection使えば問題ない
0518名無しさん@お腹いっぱい。04/09/12 15:04:52ID:/7olXoES
毎回GetPrivateProfileSectionするとはなかなか面白いな。
0519名無しさん@お腹いっぱい。04/09/12 15:09:07ID:Se+Gdy+S
毎回なんて言ってないけどな
0520名無しさん@お腹いっぱい。04/09/12 15:09:59ID:/7olXoES
>>514が読めないのかな…
0521名無しさん@お腹いっぱい。04/09/12 15:12:50ID:Se+Gdy+S
そうか、515-516間で日が開いてるから繋がった話題だとは思わなかったよ
0522名無しさん@お腹いっぱい。04/10/14 15:01:27ID:bHqNg/NY
救済
0523名無しさん@お腹いっぱい。04/10/31 15:12:48ID:lrt86nqs
IMAGEPATHに\??という文字列が記述されています。ウィルスですか?検索してもわかりません。
ご教授できませんか。
0524名無しさん@お腹いっぱい。04/10/31 21:55:20ID:qAfqPkGK
良スレage
0525名無しさん@お腹いっぱい。04/10/31 23:11:44ID:IjqCV8zk
語り尽くされちゃってる感があるから、俺が無理矢理話題広げてみるな。

iniにする意味ってあるか?
iniの利点とされてるものの多くは、
ファイルに保存する利点であって、ini特有のものではないと思うんだよ。
0526名無しさん@お腹いっぱい。04/10/31 23:24:23ID:8yduIq5V
レジストリを汚さない。以上。
0527名無しさん@お腹いっぱい。04/11/01 03:55:22ID:XiAEkWk5
>>525
プログラマにとって楽。
ユーザとしては別に独自の設定ファイルでもいい。
0528名無しさん@お腹いっぱい。04/11/01 09:11:02ID:neGAJn9Q
>>526みたいな香具師は
レジストリって何のために存在すると思ってるんだろう…
0529名無しさん@お腹いっぱい。04/11/01 11:00:31ID:QWhjKRiW
汚すために存在するとでも言うのだろうか。

誰も汚さない=書き込まないとは言ってないのに・・・
0530名無しさん@お腹いっぱい。04/11/01 11:07:24ID:ML872X0H
>>527
APIがあるから楽って言っても、
どうせラッパークラスみたいなの使ってるんだよね。

iniの短所に"遅い"ってのがあるけど、これはiniの短所であって、
ファイルに保存する短所じゃない。
そうなると、iniではないファイルに保存すればいいんじゃないか、と思う。
0531名無しさん@お腹いっぱい。04/11/01 11:23:11ID:GAiYrZ6H
過去の焼き直し以前のものばかりで目新しい話がないなあ。
0532名無しさん@お腹いっぱい。04/11/01 13:15:41ID:b/g9X0Fc
>>528
複数のアプリと共有するためじゃないの?
0533名無しさん@お腹いっぱい。04/11/01 13:22:43ID:AgzuMGlz
iniだとUSBメモリに入れて持ち運んだりできて便利だと思う。
0534名無しさん@お腹いっぱい。04/11/01 13:42:26ID:OKTX2aHz
iniと外部ファイルの違いは何なのさ
0535名無しさん@お腹いっぱい。04/11/01 15:25:18ID:Uj4MJRk6
これからはxmlですよ
0536名無しさん@お腹いっぱい。04/11/01 23:49:00ID:DDAVGrsd
>>533
レジストリだと持ち運べないと思ってるんですか?
0537名無しさん@お腹いっぱい。04/11/02 08:56:06ID:tku2LHl9
レジストリは「気軽に」持ち運べない。
エントリ探してエクスポートするなんてめんどくてやってらんない。
0538名無しさん@お腹いっぱい。04/11/02 21:35:49ID:IIYKck6+
iniファイル探してコピーなんてめんどくてやってらんない と返せばいいのか?(ぉ
つか一度場所調べりゃあとは一発だし。
0539名無しさん@お腹いっぱい。04/11/02 22:40:40ID:ui4zmNnR
良スレage
0540名無しさん@お腹いっぱい。04/11/03 17:18:40ID:IUUm6lZr
OK、538者。こういうのはどうだ。
レジストリを使うソフト100個とiniを使うソフト100個
それぞれソフト本体と設定を別のPCに移すとなると楽なのはどっちだ?
0541名無しさん@お腹いっぱい。04/11/03 17:47:10ID:+jVIk2Q8
>>540
実行ファイルと設定ファイルが同じフォルダにあると仮定しないと
0542名無しさん@お腹いっぱい。04/11/03 18:59:58ID:aX4bHv4a
良スレage
0543名無しさん@お腹いっぱい。04/11/03 19:07:28ID:XJG1g4n+
>>533
そうそう
あと、OSを再インストールしたときとか
0544名無しさん@お腹いっぱい。04/11/03 19:22:37ID:IUUm6lZr
>>541
設定ファイルを実行ファイルと同じフォルダに保存しないソフトで
Documents and Settings\All Users\Application Data
Documents and Settings\<user>\Application Data
以外に保存するソフトなんてあるのか?
あるなら3つぐらいあげてくれ。
0545名無しさん@お腹いっぱい。04/11/03 19:48:18ID:ajOcnpiU
>>544
なによその半角スペースを含むフォルダは。ふざけてるの?
0546名無しさん@お腹いっぱい。04/11/03 20:22:25ID:aX4bHv4a
>>545
大丈夫か?
0547名無しさん@お腹いっぱい。04/11/03 21:29:53ID:CLQXKR40
>>540
そもそもソフトを100個も入れるバカがいたら見てみたいわけだが。
regeditで一個一個エクスポートしてるバカにはきついかもね。
0548名無しさん@お腹いっぱい。04/11/03 21:48:22ID:8uYqKSBi
regeditでエクスポートってバカ丸出しだな。
■ このスレッドは過去ログ倉庫に格納されています