レジストリ vs プライベートINI
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/22 18:00ID:kWO77Burプログラマの視点から、逆にユーザの視点から、
それぞれの利点や欠点について意見を聞かせてください。
0035名無しさん@お腹いっぱい。
01/11/23 23:49ID:???>「古いレジストリで更新情報が行方不明になる」とは?
壊れたレジストリが破棄されて、バックアップが適用されるって事だろ。
0036名無しさん@お腹いっぱい。
01/11/24 00:03ID:???>古いレジストリで
あぁ、エラー前のレジストリが適用されて、って意味か。
それは確かにINIの方がいいかもなぁ。
0037名無しさん@お腹いっぱい。
01/11/24 00:19ID:???例えば1ユーザーで複数アカウントを切り替えて使ってる場合
(普段用と管理用…等)レジストリよりINIの方が有利。
個人的には>>33,34のような方法でマルチユーザに対応しつつ、
コマンドライン等から別のINIを適用可、ってのがマンセー。
自分が知ってる範囲内では、WWWC、Irvine、xyzzy、limechat等が
この方式。
あとFFFTP等のini/レジストリ切り替え式も良いかも。
ちなみに64k、書換、バイナリデータ対策は、iniに拘らなければ
即解決。
0038名無しさん@お腹いっぱい。
01/11/24 02:17ID:???FFFTP使ってたけどそんな設定があったなんて知らなかった。
それいいね。基本的に開発時に迷ったらユーザの選択式にすればいいと思う。
0039名無しさん@お腹いっぱい。
01/11/24 03:03ID:???0040名無しさん@お腹いっぱい。
01/11/24 03:41ID:???QXでは実感できるが、自分で実験したことはないので微妙。
つか、エディタ並に設定項目が多いような物以外は、超能力者でもない限り、iniでもregでもわからないはず。
0041名無しさん@お腹いっぱい。
01/11/24 03:45ID:???>マルチユーザー環境だとレジストリが有利っつーのはウソでしょ。
>ちなみに64k、書換、バイナリデータ対策は、iniに拘らなければ
両方とも、"開発者側から見ると"楽で良いねというお話なの。
# 小物の場合は特に独自形式で保存なんかしたくないなぁ。
0043名無しさん@お腹いっぱい。
01/11/24 11:34ID:???有利なところはなく、開発者から見て楽なだけなんだね。成る程。
では、今度からレジストリに保存するソフトは、
開発で楽をしてユーザに負担を強いるソフトと思うことにしよう。
0044名無しさん@お腹いっぱい。
01/11/24 12:28ID:???再インストールする前に%userprofile%をバックアップするのって、そんなに負担?
移動プロファイルならバックアップする必要すらないし。
004537
01/11/24 12:49ID:???独自形式なんて他のOS(特にUnix)では割と常識。
>>44
regファイルへの書き出しや移動プロファイルはともかく、
レジストリ本体のバックアップなんて気持ち悪くてできん。
M$自体、自身が定めたガイドに従ってないから、
何が起こることやら…
0046名無しさん@お腹いっぱい。
01/11/24 17:21ID:???INI>レジストリ>独自ファイル
ファイルについて言うと、データを読み書きする位置をわざわざ自分で
seekしなくて良い INI程、楽なものはない。
0047名無しさん@お腹いっぱい。
01/11/24 21:05ID:???http://www.geocities.co.jp/Beautycare/4965/public/save.html
0048名無しさん@お腹いっぱい。
01/11/24 23:40ID:sApMYyx+ファイル同期ソフトで一発です。
まあ、レジストリでも別に良いのですが・・・
レジストリ使っているのに、説明に「アンインストールはインストールしたフォルダを削除するだけ」と書いたり、
付属のアンインストーラー使ってもレジストリが残っていたりというのは勘弁してほしいです。
0049名無しさん@お腹いっぱい。
01/11/24 23:59ID:???0050名無しさん@お腹いっぱい。
01/11/25 00:41ID:???どうすればいい?HKEY_LOCAL_MACHINE\SOFTWAREに保存?
iniの場合は管理者しか書き込み権限のないフォルダに入れておけばいいと
思うんだけど。
005245
01/11/25 02:44ID:???出来んとは書いてないゾ。
反論するならもっとマシなコト書こうYO!
見本書くから良く見とくベシ。
Win2k以降に限るけど、レジストリには環境変数を
使えるという利点がある。
例えば [HKEY_CLASSES_ROOT\txtfile\shell\open\command] に
REG_EXPAND_SZ 型で"%editor%" "%1" と書いておけば、
環境変数 Editor にset したエディタで txt を開くことが可能。
んで Win2k の環境変数は共通設定をユーザー毎に
オーバーライド可能だから、特別なソフトを使わなくても
ユーザー毎に好きなエディタを使わせる事が可能。
もっともiniや独自形式でも、コストはかかるが
共通設定→ユーザ別設定の継承は可能。
005352=45
01/11/25 02:48ID:???(持ってないので良く知らん)
あと環境変数に頼るのは、少し格好悪いカモ。
0054もなか
01/11/25 14:40ID:???ご苦労様。
良ければ「レジストリが肥大化しない」の「代替策」のところに、
scanreg
と一言、付け加えておいて下さい。
あと、あえて突っ込むとしたら「代替適用ができる」のところかな。
QXみたいにレジストリ番号でも引数で指定できるソフトもあるんだし……。
というか、これって、最後の「レジストリとiniファイルの切り替え式」
の話であって、別に ini の利点でも何でもないでしょ。
0055名無しさん@お腹いっぱい。
01/11/30 13:00ID:???exeと同フォルダ?またはそのサブフォルダ?
またはWin2kで言えばC:\Documents and Settings\ユーザ名\Application Data
のような場所・・・?
0056名無しさん@お腹いっぱい。
01/11/30 13:17ID:???つい最近までずっと、exeと同フォルダまたはそのサブフォルダが
良いかなと思っていたけど、
アプリのデータや設定ファイルは分離してた方が、
バックアップとりやすいかな、と思えてきた。
ApplicationDataに集中させるのも管理しやすいかも。
iniを切り換えたいときはパラメータで渡せばすむし。
オンラインソフトだと「Change Proxy」がApplicationData以下
のフォルダにiniを作ってる。
パッケージソフトだとAtok14の各種iniやユーザ辞書も同様。
0057名無しさん@お腹いっぱい。
01/11/30 13:39ID:???されていると、Users権限のユーザは同フォルダにiniを作れないよね?
そうするとやっぱりApplicationDataに置いたほうがいいのかな。
この場合アンインストールソフトを使うならAdministratorで実行しなきゃ
ならないのかな。そうすればレジストリのHKEY_CURRENT_USER\Softwareと違って
全ユーザのiniを消せるよね。
0058名無しさん@お腹いっぱい。
01/12/01 13:55ID:1b4pvvacに置くということでええか。ええか。ええのんか。
ちなみにこれはWin2kの場合だが、他のWindows(95/98/Me/NT/XP)では
どのフォルダに該当するのか教えてくれ。
0059名無しさん@お腹いっぱい。
01/12/01 14:03ID:???95,98も同だと思うけど
0060名無しさん@お腹いっぱい。
01/12/01 14:18ID:???マルチユーザの場合は
C:\Windows\Profiles\ユーザ名\Application Data
じゃなかった?
0061名無しさん@お腹いっぱい。
01/12/01 14:34ID:???マルチユーザで使うこと無いんで
>60 ですね
0062名無しさん@お腹いっぱい。
01/12/01 14:40ID:???APIあったよね??
0063名無しさん@お腹いっぱい。
01/12/01 15:19ID:???やったことないけど、SHGetSpecialFolder() でできそう。
MSDN見れ。
0064名無しさん@お腹いっぱい。
01/12/01 15:48ID:???\Documents and Settings\[ユーザ名]\Application Data\Irvine
を使ってる。
0065名無しさん@お腹いっぱい。
01/12/01 17:06ID:???0066名無しさん@お腹いっぱい。
01/12/01 17:13ID:???↓これ?
http://pc.2ch.net/test/read.cgi/prog/997370579/444
0068名無しさん@お腹いっぱい。
01/12/02 00:07ID:???0069名無しさん@お腹いっぱい。
01/12/02 00:53ID:???0070名無しさん@お腹いっぱい。
01/12/02 01:04ID:???Adminが消しちゃって設定だけ残ったら、結局iniのメリット半減だし。
そもそもUser権限なんかで使っているところって、どれくらいあるんだ?
そんなのが増えたら漏れの作ったソフトは関連付けしないのがほとん
どなんで、ソフトその物をマイ ドキュメントに入れてもらってイイ!
関連付けする奴はマイ ドキュメントにフォルダ作って入れるってのは
どうよ? これならユーザーも探しやすい。
って関連付けするっての段階でレジストリいじるが、ユーザー毎の設
定の置き場所って事で・・
0071名無しさん@お腹いっぱい。
01/12/02 01:59ID:???>Adminが消しちゃって設定だけ残ったら、結局iniのメリット半減だし。
レジストリと一緒で普通はアンインストールプログラムも入れるはず。
もしくはReadme.txtで促す。
レジストリと違ってAdminだと他のユーザのフォルダにもすぐアクセスできて
プログラム上から設定消すのは簡単だと思う。
>そもそもUser権限なんかで使っているところって、どれくらいあるんだ?
Win2k使ってるけど普通の作業はUsersだけど?
マイドキュメントってどのバージョンのWindowsからあるんだっけ。
ちなみに俺はマイドキュメントを共有フォルダに設定してる(;´Д`)
マイドキュメント使うならApplication Dataの方がAdminが管理できて
いいと思うけどなぁ。
ところでマルチユーザ用iniを同フォルダ(またはそのサブフォルダ)に作るって人、
プライベートなデータも別の一般ユーザから見えてしまうわけだけど
そのへんはどうなんだろうか。
まぁPCを一人で使ってる人がほとんどだと思うから気にならないと思うけど。
0072名無しさん@お腹いっぱい。
01/12/02 15:22ID:8vKQrgUMIrvineは設定の保存先を変更できるように修正されてるね。
マルチユーザ用にデフォルトApplication Dataフォルダで、
そこに保存するのがやだって人用に変更オプションをつけるのがベターかな。
0073名無しさん@お腹いっぱい。
01/12/03 10:05ID:???Irvineがそうですが何か。
0074名無しさん@お腹いっぱい。
01/12/03 15:58ID:???オプションで設定の保存先を変更できるようにすること。
そうすればユーザーから「なんて柔軟性のあるソフトなのかしら……好き(ぽっ」
となること間違い無しだ。
0075名無しさん@お腹いっぱい。
01/12/03 21:38ID:???0076名無しさん@お腹いっぱい。
01/12/04 00:30ID:chlAyF01バックアップが楽珍でいい。
「レジストリ嫌です。INI INI INI INI 総理 総理 総理 総理
ってギャーギャー掲示板で騒ぐのやめてほしい
0078名無しさん@お腹いっぱい。
01/12/04 04:13ID:???何のリソースファイル?
0079名無しさん@お腹いっぱい。
01/12/04 13:45ID:Sk5tIyul%userprofile%の下なら同一フォルダ
それ以外の場所なら%userprofile%\Application Data
を保存先のデフォルトにする。さらに設定で変更可能、でどうよ?
0080名無しさん@お腹いっぱい。
01/12/04 14:22ID:???そんなややこしいソフト誰が使うんだよボォケ
0081名無しさん@お腹いっぱい。
01/12/04 16:12ID:???変更した保存先の情報はどこに保存するんだよ。
まさかレジストリじゃないよな?
0082吉野
01/12/04 16:18ID:aoZrgqQM先日CloneCD3.0.8.2のキー登録したんです。CloneCD。
そしたらのキーの入力に失敗してしまいました。
Win9x系ではレジストリの
HKEY_CURRENT_USER\Software\Elaborate Bytes\CloneCD\Stolen
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\MagnaCarta
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\MagnaCarta
を削除すればもう一度やりなおせるらしいですが、当方Win2Kです。
全体を探してみたのですが、StolenとMagnaCartaは見つかりませんでした。
もちろん一度アンインストールして再度キー入れ直したりもしてみましたがダメでした。
「登録キーが誤っています。正しいキーを入力してください。」だそうです。
どうすればよいでしょう?ご存知の方いましたら教えていただけませんか
0083名無しさん@お腹いっぱい。
01/12/05 02:53ID:???使う側は全然ややこしくないだろボゲェ
作る側がちょっとめんどいってだけだ
0084名無しさん@お腹いっぱい。
01/12/05 03:16ID:???それは同フォルダに保存すればいいんじゃないの?
user1=C:\・・・
user2=C:\・・・
user3=D:\・・・
みたく。
0085名無しさん@お腹いっぱい。
01/12/05 13:10ID:???ならそこに保存しろよ!……と思う。
0086名無しさん@お腹いっぱい。
01/12/05 13:13ID:???EXEの末尾にパスと追加したデータの長さを記録、とか?
DOSならこれで無問題かと…
でも少なくとも32BitなWinでは違うと思うのでsage
0087名無しさん@お腹いっぱい。
01/12/05 15:35ID:???いや、だから>>57や>>71の後半あたりの事情もあるからこういう話になったわけで…
0088名無しさん@お腹いっぱい。
01/12/05 16:27ID:???条件漏れがないかチェック希望
ifPCを一人で使っていてアカウントが一つ
インストール場所:好きな場所
設定の保存場所 :好きな場所
ifPCを一人で使っていて複数アカウントを使っている
if設定をアカウントごとに変更
インストール場所:好きな場所
設定の保存場所 :デフォルト(%userprofile%\Application Data)
または他アカウントとかぶらない場所
if設定を全アカウントで共通
インストール場所:好きな場所
設定の保存場所 :全ユーザ共通の場所
if自分が管理者でPCを複数人で使っている
ifUsers自身に設定の変更を許可する
ifUsers自身に設定の保存先の変更を許可する
インストール場所:UsersにWrite権限のある場所
設定の保存場所 :Usersにおまかせ
ifUsers自身に設定の保存先の変更を許可しない
インストール場所:UsersにWrite権限の無い場所
設定の保存場所 :デフォルト(%userprofile%\Application Data)
ifUsers自身に設定の変更を許可しない
インストール場所:UsersにWrite権限の無い場所
設定の保存場所 :全Users共通かつUsersにWrite権限の無い場所
0089名無しさん@お腹いっぱい。
01/12/05 16:36ID:???else
インストール場所:好きな場所
設定の保存場所:インストール場所\ユーザー名.iniまたはフォルダ
9xならどこに置こうが見られるんだからインストールした場所で
いいんでない?
0090名無しさん@お腹いっぱい。
01/12/05 16:41ID:???あ、うん、もちろんNT系の話。<88
確かに9xならどこに置いても同じなんだけど、
どう?OSごとに置く場所変わるのって。
まぁ、別にいいっちゃぁいいけど。
0091名無しさん@お腹いっぱい。
01/12/05 17:12ID:???シンプルにアプリと同じ場所がいいよ
0092名無しさん@お腹いっぱい。
01/12/05 17:16ID:???なんでこれがわからないんだよ
つーかこれに限らずソフトが使う設定ファイル・レジストリの場所は
Readme.txtやヘルプに書くこと。
0094名無しさん@お腹いっぱい。
01/12/05 17:24ID:???ini作れないならデフォルトApplication Dataを読みに行くよ
0095名無しさん@お腹いっぱい。
01/12/05 17:35ID:???GetPrivateProfileInt()もWritePrivateProfileString()も
デフォルトはWindirですが何か?
設定ファイルとかレジストリの場所をドキュメントに書
くのは常識だな。
つーか書いてないソフトは逝ってよし!
>90
設定内容にもよるがNT系と9x系で同じ設定使うのも
問題かと思われ。
0096名無しさん@お腹いっぱい。
01/12/05 17:41ID:???>デフォルトはWindirですが何か?
そうじゃなくてGetPrivateProfileInt()に与えるディレクトリを
デフォルトでApplication Dataにするという意味ですが何か?
>設定内容にもよるがNT系と9x系で同じ設定使うのも
>問題かと思われ。
同じなのは設定じゃなくて設定を保存する場所だと思われ。
0097名無しさん@お腹いっぱい。
01/12/05 20:11ID:???>つーか書いてないソフトは逝ってよし!
趣旨には同意&揚げ足取りスマソ。
ソフトが逝ってよしなんではなくて、作者が逝ってよしでは?
0098名無しさん@お腹いっぱい。
01/12/05 22:13ID:???オプションで設定の保存先を変更できるようにすること。
保存先情報はexeと同ディレクトリに保存。
こうすることで>>88のような各環境に対して様々なセットアップパターンを提供できる。
そうすればユーザーから「なんて柔軟性のあるソフトなのかしら……好き(ぽっ」
となること間違い無しだ。
0099名無しさん@お腹いっぱい。
01/12/05 23:47ID:TgjUC9zg起動するたびに検索する
0100名無しさん@お腹いっぱい。
01/12/06 00:55ID:???そのくらいレジストリ使ってもいいじゃねーかYo!
0101ネロヒト
01/12/06 01:00ID:???インストールしなきゃならんのは敬遠してしまうよ。
ブラウザとかメーラーとかならいいけど。
あと、それ以前にアンインストールも書いてないのがあるのが問題。
どういうつもりだ?
問い合わせたら、レジストリつかってんじゃねーか。
0102名無しさん@お腹いっぱい。
01/12/06 01:04ID:???レジストリに設定が残るくらい、別にいいだろう。
勝手にシェル拡張して、アンインストーラーが無いとかいうのは惨いけど。
0103もなか
01/12/06 01:27ID:???カレントディレクトリにしてるアプリがあるのはちょっとナニかなあ……
と思う。ファイルを編集するようなアプリじゃなくても(ゲームとかでも)
ちゃんと自分自身のディレクトリを取得して欲しいよね。
それはともかく……。
>>101
レジストリ使ってるかどうかと、アンインストール方法を書かないってのは
直接の関係はないと思う。
>>102
良くないって(笑)。そう思っている人が多いのがレジストリが嫌われる
一因になってると思うよ。
ini を使うのであれ、レジストリを使うのであれ、アンインストール方法
を書くのは大前提……ということでしょ。
0104名無しさん@お腹いっぱい。
01/12/06 02:19ID:???それさえあれば、レジストリでもINIでも構わないんだけどなぁ。
なんだかんだと、アンインストールの所が無かったり、あっても、具体的に書いてないものばかりなんだよなぁ。
0106名無しさん@お腹いっぱい。
01/12/06 07:27ID:???ここに逝ってよし。
readme.txtにアンインストール情報を!
http://pc.2ch.net/test/read.cgi/prog/997370579/
0107名無しさん@お腹いっぱい。
01/12/06 09:07ID:???さっさと廃れてしまえ
0108名無しさん@お腹いっぱい。
01/12/06 10:07ID:???実際に消すか消さないかはユーザに任せること。
どうせインストーラ/アンインストーラ使ってもレジストリ残るし。
つーかよ、>>81,100で設定の保存先をレジストリに保存するって
具体的にレジストリのどこに保存するの?
0109名無しさん@お腹いっぱい。
01/12/06 11:58ID:O13Da8EIDelphiで開発しているんだけど、INIを扱うクラスが豊富だよ。
通常のAPIをラップしたのもあるんだけど、独自に実装してあるINIクラスが便利だよ。
独自実装だから、win9xとNTでのAPI非互換問題もないし、何より速い。
バイナリもINIに書き込める。
0110109
01/12/06 12:03ID:???0112名無しさん@お腹いっぱい。
01/12/06 13:32ID:???俺も探すから。
0113名無しさん@お腹いっぱい。
01/12/06 14:24ID:zYqgAbJQC:\Documents and Settings\Administrator\Local Settings\Application Data
C:\Documents and Settings\Administrator\Application Data
この違いは何なの?
0114名無しさん@お腹いっぱい。
01/12/06 15:48ID:???保存先情報をexeと同じ位置にしたらマルチユーザーに対応できないし
Users権限では保存先を変更できない状況がありうると思うのですが
そのへんどうよ?
つーかそれなら全部exeと同じ位置に書けばいいじゃん。
>>100
なら全部レジストリに書いてもいいじゃん。
まったく使わないか全面的に使うかのどちらかしかありえないよ。
中途半端に複数の手段を併用されてもバックアップのときとかに
わけわからなくなるだけ。
0115名無しさん@お腹いっぱい。
01/12/06 16:49ID:cnbIjEyD同意。
複数の手段を併用するのはやめてほしい。
バックアップのし易さ↓
INIのみ>レジストリのみ>INIとレジストリ併用
って感じで、レジストリのみより寧ろ悪くなる。
FFFTPなんかはINIとレジストリ、
どっちを使うかオプションで選べるようになってるけど、
じゃあその「どっちを使うか」という情報をどのような手段で保存しているのかな。
デフォルトはINIを使うようになってるようだけど、
Program Files下への書き込み権限のないユーザでも
正しく保存できるように配慮されてるのだろうか。
0116名無しさん@お腹いっぱい。
01/12/06 16:50ID:???>保存先情報をexeと同じ位置にしたらマルチユーザーに対応できないし
なんでよ?マルチユーザ対応にするために使うんだけど。
>Users権限では保存先を変更できない状況
それは管理者が保存先を変更するなというルールを用いてるか、
でなければUsersでも変更できる場所にインストールすれ。
だいたい、
>全部exeと同じ位置に書けばいいじゃん。
って言うのだってUsersが変更できる場所にインストールすることが前提の発言だろ?
0117名無しさん@お腹いっぱい。
01/12/06 16:55ID:???FFFTPの場合は簡単じゃん?
どっちかを調べて設定がなければ他方を読み込む。
今話してるのはマルチユーザの場合はどうするかってことで、
それを同フォルダに置くかディレクトリに置くか、と。
つーかみんな過去ログ読んでる?
0118117
01/12/06 16:59ID:???>それを同フォルダに置くかディレクトリに置くか
それを同フォルダに置くかレジストリに置くか
0119名無しさん@お腹いっぱい。
01/12/06 17:50ID:???補足というかなんというかFFFTPはINIがあればINI優先になる。
どこに設定を保存しているかってのは、ちょっと発想が貧困だな。
ただ、ヘルプにもあるようにマルチユーザー用ではない。
>設定をINIファイルに保存するようにします。マルチユーザ環境でない時に使用してください。INIファイルは、ffftp.exe のあるフォルダに作成します。
>INIファイルの方がレジストリよりもバックアップが簡単に出来るので便利です。
マルチユーザーで、個々に別々の設定を使いたいのならレジストリ使え
ば良いんじゃない?
共通の設定で構わないのなら、マルチユーザーでもEXEのあるフォル
ダにiniでも良いだろ。読み込みはできるんだから。
User権限で設定が変えられないのは仕方が無い。黙って管理者の設
定したままで使え。
0120名無しさん@お腹いっぱい。
01/12/06 18:22ID:???ウィンドウの起動位置や起動状態(最小化/最大化など)みたいな
ちょっとしたことだけ保存されたら嫌?
0121名無しさん@お腹いっぱい。
01/12/06 18:28ID:cnbIjEyD>>保存先情報をexeと同じ位置にしたらマルチユーザーに対応できないし
>なんでよ?マルチユーザ対応にするために使うんだけど。
漏れは114じゃないが、
マルチユーザ環境 = exeのあるフォルダはユーザ権限では書き込み不可
を想定と思われ。
保存先情報をexeのあるフォルダに保存というのは矛盾してる。
0122名無しさん@お腹いっぱい。
01/12/06 19:02ID:???それは嫌すぎる。
だいたいレジストリ使うツールとかって、
どーでもいい情報に限ってレジストリに保存する傾向がある気がする…
まぁActiveXの登録とかシェル拡張みたいな、
「OSの機能の恩恵をそのアプリケーションで享受する為にレジストリを用いる」
とかそういうのならむしろ歓迎。
けど、下らん情報しか保存しないくせにレジストリに保存するのは逝ってよし。
ところで逆に、レジストリじゃないといけない事って何?
たいていはINIで事足りると思われ。
てかマルチユーザ考えなきゃいけない場面ってそんなにある?
漏れ的にはPCは1人一台orそれ以上が基本だと思うから、
INIマンセー派。
0123名無しさん@お腹いっぱい。
01/12/06 19:18ID:cnbIjEyD>ところで逆に、レジストリじゃないといけない事って何?
OSや他のアプリケーションとの連携に関する物はしかたないよね。
代表的なとこでは拡張子の関連づけとか。
それ以外だと、例えば各スクリーンセーバの設定情報とかがあるかな。
スクリーンセーバの実行ファイルってSystemフォルダに置かれるから、
そこにINI作られるとイヤーン。
Win3.1の頃はWIN.INIに勝手にセクション作って保存してたんだっけかな?
そういうのも嫌だよね。
まだレジストリの方がマシ。
>てかマルチユーザ考えなきゃいけない場面ってそんなにある?
>漏れ的にはPCは1人一台orそれ以上が基本だと思うから、
>INIマンセー派。
大学とか会社とか、そういう組織で使う場合かな。
あとはまあ家族で使う場合とかもあり得るかも知れないけど
家族でそんなきっちり管理者とユーザと権限分けて…
…とかってあんまやらないかな?
俺は個人でしか使わないからINIマンセーなんだけど。
0124123
01/12/06 19:26ID:cnbIjEyDそのアプリがインストールされてる場所を示す情報。
バージョンアップの際インストーラが
前のバージョンを上書きするために必要。
レジストリに場所を保存しておかないと
いちいち全フォルダスキャンして探すことになってうざいからね。
例えばRocketMouseはインストーラがデフォルトで
Program Files\MajoSoft\Rockm にインストールしようとするんだけど、
俺は嫌なので Program Files\RocketMouse にインストールしてる。
ところが新バージョンで上書きインストールしようとしても
また Program Files\MajoSoft\Rockm にインストールしようとしやがる。
いちいち修正するの面倒。
設定なんかはレジストリに保存してるくせに、
そういう情報は保存しないのって気が利いてないなーと思う。
0125名無しさん@お腹いっぱい。
01/12/06 20:04ID:???だーかーらー、デフォルトで\Application Dataを読むようにするんだって。
0126名無しさん@お腹いっぱい。
01/12/06 20:06ID:f6PGwbxH0127名無しさん@お腹いっぱい。
01/12/06 20:11ID:???0128名無しさん
01/12/06 20:21ID:???あー、やっと意味がわかった気がする。
保存先をexeと同じフォルダのINIに記録するんじゃなくて、
Application Dataか、それともexeと同じフォルダか、
どちらのパターンを使うかって情報をexeと同じフォルダのINIに記録するわけね。
権限の関係でexeと同じフォルダを使えない場合は
デフォルトでApplication Dataに逝くから問題ないと。
要するにFFFTPと同様のパターンか。
>>126
それだと全ユーザがPower Users以上の権限を持ってないと破綻する
中途半端なマルチユーザ対応になってしまうような。
0129名無しさん@お腹いっぱい。
01/12/06 20:38ID:???えっと、どちらかのパターンかじゃなくて、
Application Dataか、他のフォルダか(exeと同フォルダに限らず)を保存。
例えば、
suzuki=(suzukiのApplication Dataフォルダパス)
だとApplication Dataを読みに行って、
suzuki=(他のフォルダのパス)
だと他のフォルダを読みに行く。
Write権限がなければデフォルトでApplication Dataに行く。
Write権限は無いけどRead権限がある場合は、iniを読んで変更先へ行く。
(この場合、変更先はWrite権限のあるAdminなどがiniを手動編集)
こうすれば管理者がUsersの設定先を共通のものにして、Usersに
同じ設定を使わせることができる。
でもこれは全Usersを編集しなくちゃならなくてめんどうなので、
ShareFlg=1
SharePath=C:\share\hoge.ini
みたいなキーを作っといてShareFlgが1なら全UsersがSharePathのiniを
読みに行くようにするとか。
0130名無しさん@お腹いっぱい。
01/12/07 03:03ID:???system wide settingはexeと同じフォルダに置くiniファイルに記録
%APPDATA%以下にiniがあれば、その情報で上書き
みたいにすればいいんじゃない?
iniを保存する時はデフォルトでは%APPDATA%に保存しようとするけど
exeと同じフォルダを指定もできるようにする。
%APPDATA%に入れる時はexeと同じフォルダにあるiniファイルとの差分
のみ保存してくれた方がメンテナンスしやすいかも。
0131名無しさん@お腹いっぱい。
01/12/07 03:12ID:???>Application Dataか、他のフォルダか(exeと同フォルダに限らず)を保存。
で、
suzuki=
の時(つまりキーがカラの時=デフォルト)にApplication Dataを読みに行く。
そして、
>suzuki=(他のフォルダのパス)
>だと他のフォルダを読みに行く。
はこの通り。
Write権限がなければsuzukiキーはカラのままなのでApplication Dataを読みに行く。
全ユーザを共通の設定にするには
ShareFlg=1
SharePath=C:\share
みたいなキーを作っといてShareFlgが1なら全UsersがSharePathを読みに行く。
ShareFlgのデフォルトは0で。
なんだかよくわからなくなるからexeと同フォルダに設定を保存する方がいいと
言う人がいるけど、使う側は今までどおりで特に問題ない。
設定の保存場所がApplication Dataになるというだけ。
どうしてもexeと同フォルダにしたいというなら保存先を変更すればいい。
たぶん設定ダイアログで保存先フォルダを選択するだけの操作になると思う。
それだけすればバックアップやアンインストールのやり方も今までと同じになる。
これだけの操作で済むんだから手間にならないよね?
そしてこれだけの手間で、やろうと思えば>>88のようなセットアップパターンが提供できる。
0132名無しさん@お腹いっぱい。
01/12/07 04:02ID:???設定の保存先を記録するiniもsystem wide settingだしね。
ソフトによるだろうけどsystem wide settingなものは同フォルダでいいと思う。
なるほど、設定のオーバーライドはいいかもしんない。
0133名無しさん@お腹いっぱい。
01/12/07 04:06ID:???持たせられるともっとよさげ。
0134名無しさん@お腹いっぱい。
01/12/07 08:21ID:???なんだかややこしいので、
結局作る人的にはレジストリが一番楽なのであった…
■ このスレッドは過去ログ倉庫に格納されています