レジストリ vs プライベートINI
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/22 18:00ID:kWO77Burプログラマの視点から、逆にユーザの視点から、
それぞれの利点や欠点について意見を聞かせてください。
0217名無しさん@お腹いっぱい。
01/12/19 23:47ID:???0218名無しさん@お腹いっぱい。
01/12/19 23:56ID:???0219名無しさん@お腹いっぱい。
01/12/20 00:25ID:???必要なさそうなのにわざわざインストーラ使ってるのがあると思われ
0220名無しさん@お腹いっぱい。
01/12/20 10:34ID:VWQtnprYiniファイルアクセス関数
これ使うと速くなるのかな?
0221名無しさん@お腹いっぱい。
01/12/20 15:58ID:???インストーラ使うまでも無いソフトはzipなんかでまとめてくれるだけでイイ。
特にフリーソフトを何個か試用するときはすぐ使えてすぐ削除する操作を
くりかえすから。
0222名無しさん@お腹いっぱい。
01/12/20 16:06ID:???(・∀・)イイ!乳頭の色はピンクが(・∀・)イイ!
0223名無しさん@お腹いっぱい。
01/12/20 23:02ID:???NTでレジストリにリダイレクトする機能が効かなくなって
嫌だな
0224名無しさん@お腹いっぱい。
01/12/21 00:33ID:???時くらいしかないんじゃ?
0225名無しさん@お腹いっぱい。
01/12/21 21:55ID:???0226名無しさん@お腹いっぱい。
01/12/23 02:53ID:???0227名無しさん@お腹いっぱい。
01/12/23 03:38ID:???0228名無しさん@お腹いっぱい。
01/12/23 07:01ID:U1IX1q790229名無しさん@お腹いっぱい。
01/12/24 06:46ID:???CMultiINIクラスをこっそりアプするか……
0230名無しさん@お腹いっぱい。
01/12/25 14:49ID:???0231名無しさん@お腹いっぱい。
01/12/26 22:09ID:OQUIlWc90232名無しさん@お腹いっぱい。
01/12/26 22:33ID:???どうでも、(・∀・)イイ!!
0233名無しさん@お腹いっぱい。
01/12/27 01:29ID:???おおきなお世話じゃ!!!
0234seven
01/12/27 03:21ID:g/oMEvHn少なくとも、体験版でバリバリレジストリを汚すのは、止めて欲しい。
ぐるぐるまわるけど、HDDも安くなったんだし、exeとiniは、同じ場所で良いのでは?
0235名無しさん@お腹いっぱい。
01/12/27 03:27ID:???0236名無しさん@お腹いっぱい。
01/12/27 03:32ID:???0237名無しさん@お腹いっぱい。
01/12/27 03:56ID:???HDDの容量は問題にしてないと思われ
0238名無しさん@お腹いっぱい。
01/12/27 03:56ID:???0239名無しさん@お腹いっぱい。
01/12/27 03:58ID:???0240名無しさん@お腹いっぱい。
01/12/27 05:45ID:X7s+dYNEプログラム側では、
system wide な読み込み、個人データ読み書きとかのメソッド使うだけで、
後ろでなにやってるかは気にしないと。
0241名無しさん@お腹いっぱい。
01/12/27 07:17ID:???あってもみんなが使わないと意味ない
というかそれがまさにレジストリAPIでは…
0242名無しさん@お腹いっぱい。
01/12/28 00:12ID:???CMultiINIDialogクラスをこっそりアプしてみるか……
0243名無しさん@お腹いっぱい。
01/12/29 03:40ID:???ツールバーもねぇし。
検索トロイし。
拡張子大文字で付けるし。
比較機能ぐらい付けろや。
0244名無しさん@お腹いっぱい。
01/12/29 16:29ID:???プロファイルマネージャってのはNetscape6についてるやつ
0245名無しさん@お腹いっぱい。
01/12/29 17:16ID:UPGWIUhuもってくればいいなじゃいかね。
>>240 のいってるのってまさに GConf やんかー。
http://cj3134981-a.kkbnj1.kt.home.ne.jp/documents/gconf-1.0.x-refs/html/
0246名無しさん@お腹いっぱい。
01/12/29 17:30ID:???サンプルとして見てみたい。
0247名無しさん@お腹いっぱい。
01/12/29 20:25ID:JSwjUjWm/ / = -
/ / = -
/ / = - はいはい1000ゲットズサーー
/ / っと。
/ /
-― ̄ ̄ ` ―' , _
, ´  ̄" ー _=
_/ ` 、 =
, ´ ,ヘ ヽ =
,/ ,| ● ,/
と,-‐ ´ ̄ r( `' く 三 = (⌒
(´__ 、 `( ,ヘ ヽ 三 =(⌒
 ̄ ̄`ヾ_ ● _> ( ⌒ (⌒
,_ \ `' __ -‐ ´ 三=(⌒ (⌒
(__  ̄~" __ , --‐一~ ̄ ̄ ̄ 三 =(⌒ (⌒
 ̄ ̄ ̄ =(⌒(⌒ __
0248名無しさん@お腹いっぱい。
01/12/29 22:19ID:???GConf は GNOME の一部だったはず。
だから 基本的に UNIXer 向けじゃないかと。
あくまで一例として挙げたまで。
レジストリ API と INI API をぶんどって
ほにゃららするような DLL 作らんかね。
0249名無しさん@お腹いっぱい。
01/12/30 01:46ID:???薄いラッパならGoogleですぐヒットするほど公開されてる。
0250もなか
01/12/30 13:46ID:???INI API ぶんどりは賛成ナリ。INI への読み書きが早くなればなにより。
ついでにタブ区切り式定義ファイルとかも
読み込みだけでいいから出来たらイイかも。
辞書ソフトとかに応用が……(あ、スレ違いになりつつある)
0251名無しさん@お腹いっぱい。
01/12/30 18:26ID:ByUBKubsここで挙げられたいろんな置き場所をユーザが選べるようにするってのは?
んで、レジストリ & INI API で書き込まれたものは
全部そのユーザが指定した場所の指定した形式に落されると。
あーでも、レジストリ API をぶんどるのは危険かなぁ。
Windows 自身が使ってる部分とかもあるだろうし。
バックエンド切り離せればなぁ...
設定を ACAP から引っ張ってきたり、LDAP から引っ張ってきたり...
いろいろ楽になると思うんだが。
プログラマーも楽だろうし。
0252名無しさん@お腹いっぱい。
01/12/30 18:53ID:???0253名無しさん@お腹いっぱい。
01/12/30 19:45ID:ByUBKubs普通に INI とかレジストリを使ってる既存のアプリケーションを
変更することなく設定の置き場所変えられる点。
新しい方法考えたとしても、結局プログラマがそれに対応しなきゃ使えないわけだし。
だったら API を置き換えるしかないんじゃないかと。
0254名無しさん@お腹いっぱい。
01/12/31 14:28ID:???0255名無しさん@お腹いっぱい。
01/12/31 17:58ID:???素人な漏れには DLL 置き換えみたいな方法しか思いつきません。
なんか危険な気がする。
他にどんな方法が考えられます?
0256名無しさん@お腹いっぱい。
02/01/01 05:38ID:???0257名無しさん@お腹いっぱい。
02/01/01 16:43ID:???0258名無しさん@お腹いっぱい。
02/01/01 19:23ID:???なんか素人丸出しな意見だね。
0259名無しさん@お腹いっぱい。
02/01/02 21:52ID:???素直にうけた。
0260名無しさん@お腹いっぱい。
02/01/07 02:22ID:Y8pMdg17素直を通り越してひねくれにいっとるわい
0261名無しさん@お腹いっぱい。
02/01/13 07:39ID:ki6cr+tg0262名無しさん@お腹いっぱい。
02/01/13 07:42ID:???0263名無しさん@お腹いっぱい。
02/01/13 08:01ID:???0264名無しさん@お腹いっぱい。
02/01/16 01:52ID:???c:\Documents and Settings\ユーザー\Local Settings\Application Data
とかのディレクトリを求めるにはどうすればいい?
なんかいいやりかたないかな
0266名無しさん@お腹いっぱい。
02/01/20 13:44ID:???たいしたソフトなら別に良いんだけどっていうのはわがままですか?
,. 、
/ / = -
/ / = -
/ / = - はいはい0x10Aゲットズサーー
/ / っと。
/ /
-― ̄ ̄ ` ―' , _
, ´  ̄" ー _=
_/ ` 、 =
, ´ ,ヘ ヽ =
,/ ,| ● ,/
と,-‐ ´ ̄ r( `' く 三 = (⌒
(´__ 、 `( ,ヘ ヽ 三 =(⌒
 ̄ ̄`ヾ_ ● _> ( ⌒ (⌒
,_ \ `' __ -‐ ´ 三=(⌒ (⌒
(__  ̄~" __ , --‐一~ ̄ ̄ ̄ 三 =(⌒ (⌒
 ̄ ̄ ̄ =(⌒(⌒ __
0267名無しさん@お腹いっぱい。
02/01/20 14:17ID:???過去ログにあったような。
>>266
確かに「ちょっとした設定しかないのにレジストリを使われると萎える」
という意見は多い。でもその理由は「なんとなく」ってのもまた多い。
俺は、使っているレジストリエントリをドキュメントに書いてくれたり、
アンインストーラで消してくれるソフトなら、ちょっとした設定にレジストリを
使ってもいいと思ってる。
0268名無しさん@お腹いっぱい。
02/01/20 16:30ID:???あとは自分で調べれ
ちなみにApplication DataはCSIDL_APPDATAだ。
0269名無しさん@お腹いっぱい。
02/01/29 15:39ID:???>確かに「ちょっとした設定しかないのにレジストリを使われると萎える」
>という意見は多い。でもその理由は「なんとなく」ってのもまた多い。
こういう人種も。
http://pc.2ch.net/test/read.cgi/win/1007435105/637-640n
0270名無しさん@お腹いっぱい。
02/01/29 17:11ID:???レジストリを消しても再構築しないとサイズは元に戻らないよ。
ちょっとした設定ならINIがいい。
0271267
02/01/29 19:27ID:???じゃなくて、レジストリを使うかどうかの判断に「ちょっとした設定」か
「重要な設定」かはあまり関係ないのではないかと。
> 「ちょっとした設定しかないのにレジストリを使われると萎える」
っていうと、まるで重要な設定ならレジストリを使ってもいい、みたく聞こえるじゃない?
でも実際は重要な設定だろうとなかろうとINIの方がバックアップなどに便利だし、
レジストリを使うなら重要な設定だろうとなかろうとレジストリを使ってることには
変わりないんだし。
0272267
02/01/29 19:35ID:???> 将来的にはレジストリにアプリのデータを保存しないようにすると、なにかでよんだ気がする。
> 多分DOS/V magazine。
ってやつ。本当だとしたらうれしいんだけど、いつのDOS/V magazineかなぁ。
0273久しぶりにage
02/01/29 20:20ID:SBBxg6cUiniは初期化するもんであって
どちらもアプリケーションのデータを置くものじゃないのね。
つーか、Application Dataに置くのが正解。
C#のIDEで有名なSharpDeveropとかIrvineはそうしてる。
あとAPIぶんどりの話が出てたけどAPIって本来の目的と外れた場所で
使われてることもあるから全然関係無いのがまともに動かなくなったりするよ。
たとえば.url(インターネットショートカット)とか。
0274名無しさん@お腹いっぱい。
02/01/29 21:19ID:???>>271
多分だがそういうことではなくて、シェル拡張とか
アンインストーラの登録とか、拡張子関連づけとか、
「レジストリに書き込まねば実現できない」
ことってあるでしょ?
それのことでは無いかと思われ。
どっちにしろデフォでONにされるとムカっと来るが(藁
>>273
素で疑問に思ったことなので気を悪くされたらスマソ。
ではINIって元々どういう事が記憶されてたの?
漏れはPC触りだしてそういうことに手を突っ込むように
なってから、INIは設定ファイルだとバカーリ思ってた…
INIがInitializeの略だと知ったのは、実は去年…
0275名無しさん@お腹いっぱい。
02/01/29 21:38ID:???名前の通りにいけばそうだけど、じゃあアプリケーションが
HKEY_CURRENT_USER\Software に登録するものって例えば何?
MS自体がINI→レジストリに設定を保存するように推奨してるんだから、
これらはもともと同じ働きをするものと考えて良いんじゃないかな。
>>274
INIは設定ファイルだよ。ファイルのプロパティ見てごらん。
0276名無しさん@お腹いっぱい。
02/01/29 21:41ID:???>INIって元々どういう事が記憶
今のレジストリと同じ。
元々OSの初期化のために作られて、ついでにアプリケーションの設定にも使われた。
初期化のためにあるから書き込みよりも読み出し用って感じ。
読み取り用のAPIには数値を取得するものがあるけど書き込み用には数値用のが無くて、
数値を書き込む場合は一度文字列に変換してから文字列として書き込まないといけなかったりする。
当然、今現在はただのレガシーAPIで、
開発者用のMS配布のドキュメントには
>Note This function is provided only for compatibility with 16-bit Windows-based applications.
>Applications should store initialization information in the registry.
と、ちゃんと書かれてある。
0277なんか今日は激重だね
02/01/29 22:01ID:???>HKEY_CURRENT_USER\Software
今現在の使われ方をするためのものとして存在してるけど、"ついで"として使われてるだけ。
ちなみに俺はiniファイル派だったりする。
自分で作るアプリは全てiniに設定を保存してる。
たぶん世の中がXMLで設定を保存するようになってもiniファイル使ってると思う。
0278名無しさん@お腹いっぱい。
02/01/29 22:49ID:???あんたの好みという以外の根拠は?
0279age
02/01/29 23:42ID:SBBxg6cU0280名無しさん@お腹いっぱい。
02/01/29 23:46ID:???アプリの設定は含まれないよな?
0281名無しさん
02/01/30 16:18ID:???MozillaなんかはApplication DataにブックマークやCookieを保存するけど
これはデータとも言えるし設定とも言えるし…
0282名無しさん@お腹いっぱい。
02/01/30 16:47ID:???64KBを目安に決めれと言ってる
0283名無しさん@お腹いっぱい。
02/01/30 19:38ID:???でもさんざんいじられてるのでそのうち新規ウィンドウズインストールできれいに消すことになる
0284名無しさん@お腹いっぱい。
02/01/30 20:02ID:???だからさー、そういうときはいじられたくない根拠を書こうや
0285名無しさん@お腹いっぱい。
02/01/30 20:16ID:???それは64KBを超える場合はレジストリにしろってこと?
ソースを教えて欲しい。
設定とアプリのデータについて個人的には、
「データ」はおおざっぱに言えば操作によって増減するファイルのようなもの、
(例えばブックマークやキャッシュファイルやクッキーなど)
「設定」はそれ以外のアプリに関する設定だと思っていた。
思いっきりローカルルールだけど。
0286名無しさん@お腹いっぱい。
02/01/30 21:47ID:r+HtcEpCレジストリを使う人のためにレジストリ礼儀作法を厳しく指示するべき…
たまに大量のデータをレジストリに投げ入れたりする酷いプログラムに出くわす.
高速に何度もレジストリにアクセスするようなプログラムまである.
NT系でも9x系でも,レジストリをダイエットさせる再構築には
再起動が必要不可欠だから,運用形態によっては悲惨だ.
0287_
02/01/30 23:22ID:EMJO49PAその為のWindowsロゴだったりするんだけどね。
http://www.microsoft.com/japan/windows/logo/
ini使ってると、マルチユーザーでまるで使い物にならなくなるんだよね。
反面、個人で使う場合、iniの方が便利な事も・・・
0288名無しさん@お腹いっぱい。
02/01/31 00:02ID:???逆逆。64KBを超える場合はApplication Dataにしろって書いてある。
http://www.microsoft.com/japan/winlogo/downloads/AppSpec22j.doc
> ・HKCU (HKEY_CURRENT_USER) レジストリハイブは、小さなデータ
> (約 64K) の保存やユーザーごとのポリシー設定の保存に適しています。
(中略)
> ・大きなファイルベースのデータは、[Application Data] フォルダに
> 入れなければなりません。たとえば、Internet Explorer の一時
> インターネット キャッシュはユーザー プロファイルに格納され、
> レジストリには格納 されていません。
> ・インストール時に、アプリケーションで HKCU と HKLM に合計 128K を
> 超えるデータを保存してはいけません。ただし、HKEY_CLASSES_ROOT
> は例外です。
0289名無しさん@お腹いっぱい。
02/01/31 00:12ID:???まったく逆を推奨してるんだね…
0290名無しさん@お腹いっぱい。
02/01/31 00:16ID:???いや、Application Dataっていうのは、iniというわけでなく・・・
ユーザー毎に持ってるフォルダなので、そこに自由な形式のデータを格納しなっせ。
という事だと思われ。
0291名無しさん@お腹いっぱい。
02/01/31 00:25ID:???0292名無しさん@お腹いっぱい。
02/01/31 00:36ID:???>>289は別にiniを使うとは言ってないと思うが。
0293名無しさん@お腹いっぱい。
02/01/31 01:15ID:???早合点。スマソ。
0294名無しさん@お腹いっぱい。
02/02/02 00:15ID:???レジストリのsoftware直下のキー名がソフト同士でかぶったり
したことってないのかな。
0295名無しさん@お腹いっぱい。
02/02/02 01:14ID:???超漢字使え。
0296名無しさん@お腹いっぱい。
02/02/04 18:11ID:???基本的に"software\[作者が付けた任意の名前]\[ソフトウェア名]"になるから
かぶる事は無いんだけどたまに行儀の悪いソフトがsoftware直下に
ソフト名を持ってくるのもあるから注意せないかん。
0297名無しさん@お腹いっぱい。
02/02/04 18:20ID:???ツールと呼ばれる程度のソフトでインストールされたフォルダ以外に
設定とかデータを残しては欲しくないな。
マルチユーザの場合はマルチインストール。これ最強。
0298名無しさん@お腹いっぱい。
02/02/04 19:28ID:???>>284
0299297
02/02/04 19:42ID:???アンインストーラさえついててキッチリ消してくれるならな。
ただ、アンインストーラついてても消さない糞アプリもあるわけで
レジストリに書き込むアプリは何と無く使いたくない。
んで、あちこちにファイル作られるとアンインストール面倒。
それからバックアップもめんどい。
つーかこれ何回も言われてる事だろ。
いちいち書く必要も無いと思うが。
0300名無しさん@お腹いっぱい。
02/02/04 21:33ID:???その代わりアンインストールするとき完全に消せ
これがホントの気持ち
0301名無しさん@お腹いっぱい。
02/02/04 22:43ID:???”完全に”
だね
消してると見せかけてよく見ると
鼻くそ程度のこってることがあって
あまり精神的に良くないことが在る
0302名無しさん@お腹いっぱい。
02/02/05 10:29ID:SaWLjtr30303名無しさん@お腹いっぱい。
02/02/05 10:41ID:???使ってるうちにどんどん肥大してくよ。新しいソフト
入れなくてもさ。
ディスクのイメージでもとっておいて、数ヶ月に1回
リカバリすればいいじゃん。よさそうなソフトあったら
どんどん試しちゃおうぜ、レジストリなんて気にしないで。
0304名無しさん@お腹いっぱい。
02/02/05 14:27ID:???> ディスクのイメージでもとっておいて、数ヶ月に1回
> リカバリすればいいじゃん。
めんどくさいから嫌だ。
===== 終了 =====
0305名無しさん@お腹いっぱい。
02/02/05 14:47ID:zIX9aGD+すぐに分かるから,いくらでもダイエットできるが.
systemに溜まった用途不明のdllだけはドウシヨウモナイ…
0306名無しさん@お腹いっぱい。
02/02/05 16:19ID:???そのダイエットに使う時間は無意味だと思いませんか?
0307名無しさん@お腹いっぱい。
02/02/05 17:29ID:???0308名無しさん@お腹いっぱい。
02/02/05 19:30ID:???0309名無しさん@お腹いっぱい。
02/02/05 19:34ID:???好きでやってるんだからほっといてやれよ
0310名無しさん@お腹いっぱい。
02/02/05 19:37ID:???0311名無しさん@お腹いっぱい。
02/02/06 07:08ID:???なんと言っても「アンインストールのとき〜」という記述が楽。
Win32の手引きとも言えるリファレンスにはレジストリを使え、
と書いているがこれはActiveXの考えと同じだと思う。つまり保
存されているところがどこかを認識せずに使えるってところだな。
たしかに>>307の言うとおり大した問題じゃないが、INIだとバ
ックアップが楽だという利点がある。レジストリだと全部バック
アップするということをするのもいいかもしれないが効率が良く
ないし。>>310のとおりのような機能があるのもいいと思う。
0312妄想
02/02/06 09:05ID:???具体的引数はまだ考えてないけど、とりあえず設定を保存/復帰ファイル名をPCharで。
で、もしこれが標準になれば1つのアプリを走らせるだけで、
INIだろうが独自形式のファイルだろうがレジストリだろうが、
ほぼ全ての使っているアプリの設定の保存/復帰が出来る。
って、寝起きの時の妄想をちょっとまとめただけだから、
あまりキツイツッコミは無しで(汁
0313名無しさん@お腹いっぱい。
02/02/06 14:24ID:???マルチインストールという答えはやめて欲しい。
バージョンアップのたびに何回もインストールするのはめんどうだし、
インストールするユーザの数が少ないとは限らないから。
0314名無しさん@お腹いっぱい。
02/02/06 17:11ID:???作者は大変だが
0315名無しさん@お腹いっぱい。
02/02/06 17:49ID:???作者からマルチインストロールって答えが返ってきたら、
各ユーザ用のINIを差し替えるて起動するバッチ、
もしくはそう言うツールを作ってみては?
0316名無しさん@お腹いっぱい。
02/02/06 18:08ID:???ツール作るにしても結局作者がINI差し替え機能をサポートしてないとならないんだよな。
というか差し替え機能があるなら初めからマルチインストールとは答えないと思われ。
■ このスレッドは過去ログ倉庫に格納されています