Windowsでソフトをインストールする際、WINDOWSフォルダに設定ファイルを

保存するものがありますが、なぜそうするのでしょうか?
素直にインストールフォルダに保存せず、そこである理由がわかりません。
(例:PHPモジュールのphp.ini、MySQLのmy.ini)

回答の条件
  • 1人2回まで
  • 登録:2006/07/25 14:22:54
  • 終了:2006/07/26 12:29:54

回答(3件)

id:Sampo No.1

Sampo回答回数556ベストアンサー獲得回数1042006/07/25 15:03:39

ポイント20pt

スタートメニューやショートカットから起動されるプログラムであれば、カレントディレクトリは必ずインストールフォルダですからすぐに設定ファイルを発見できます。

しかし、コマンドラインから呼び出されるプログラムだと、カレントディレクトリは不定ですよね。WINDOWSフォルダに決めうちだとインストールフォルダを探す手間がかかりません。

id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/07/25 16:06:07

ポイント36pt

理由1.

Microsoftが昔設定ファイルをWindowsのディレクトリー

 に保存するようにAPIを定義したそのなごり。

http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_...

理由2.

 実行モジュールが別のディレクトリーで実行された場合でも

 アプリケーションの規定値を確実に読み込む為。

 レジストリーに保存する方法も基本的な考え方は同じ

理由3.

インストールフォルダーは勝手に名前を変えられる事が

ある。


 

id:Totoro No.3

Totoro回答回数16ベストアンサー獲得回数12006/07/25 16:29:07

ポイント33pt

ちょっと補足。

Windowsフォルダであれば、システム環境変数 windir で一意に決定されますし、どのマシンにも必ず存在するディレクトリだからですね。

コマンドプロンプトで以下のコマンドを入力してみてください。

notepad %windir%\win.ini

windowsフォルダのwin.iniファイルが起動しますね。(ファイルがあれば)

実行ファイルであれば、Pathが通っていれば、実行することは可能ですが、iniファイルはPathが通っていれば、どこにおいても認識して開いてくれるわけではありません。よってどこか必ず存在するディレクトリに固定的におくことになるのだと思います。

もっとも、プログラムの方で、実行されたEXEと同じフォルダにあるiniファイルを探す(なければ自動的に作成する)というようなプログラムも多いですし、私もその方がスマートだと思います。

URLはダミーです

http://www.atmarkit.co.jp/fwin2k/win2ktips/189setenvv/setenv.htm...

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません