アプリケーション設定情報はどこに保存すべきか

投稿日: 2007年05月17日 更新日: 2017年07月22日

「”Designed for Windows XP” アプリケーション仕様書 2.3 日本語版」より。

CSIDL_APPDATA


このフォルダは、ユーザー プロファイルを使ったローミングの場合に有効になります。このフォルダを使って、ユーザー固有のアプリケーション設定をすべて保存します。たとえば、アプリケーションで使用するカスタム辞書をユーザーが指定できる場合、その辞書はここに保存することになります。このように、ユーザーがコンピュータ間をローミングすると、辞書も一緒にローミングします。また、これにより他のユーザーも自分専用のカスタム辞書を持つことができるようになります。


CSIDL_LOCAL_APPDATA


このフォルダは移動しないアプリケーション データの保存に使われます。このフォルダもユーザー プロファイルの一部であるため、ユーザーごとの情報を保存します。ユーザーが設定したモニタの解像度など、コンピュータに依存するアプリケーション データはここに保存しなければなりません。 
コンピュータが異なるとモニターも異なる可能性が高いため、このデータをローミングしてはなりません。また、簡単に再作成できる大きなブロックのデータや一時ファイルはここに保存して、ローミングに影響するダウンロード時間を最小限にしなければなりません。 
例  Internet Explorer はダウンロードした .html/.gif  のページのキャッシュをここに置くため、ユーザーとともにローミングすることはありません。しかし、小さな Cookie と履歴リストは CSIDL_APPDATA に記憶されるため、ローミングすることになります。 


CSIDL_COMMON_APPDATA


このフォルダは、ユーザー固有でないアプリケーション データの保存に使います。制限付きユーザーは、このフォルダ内の自分で作成したファイル以外のファイルに対しては読み取り権限のみを与えられます。共通ファイルに対する書き込み権限が必要な場合は、アプリケーションのインストール時に、すべてのユーザーに対して「変更」権限を与える、CSIDL_COMMON_APPDATAのサブフォルダを作成する必要があります。

これらのフォルダはユーザからは見えにくい位置にあるため、MyDocumentやアプリケーションと同じ場所に保存するアプリケーションも存在する。

個人的には小さなツールであればアプリケーションと同じ場所でも良いと思う。

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ