2013-04-29 31 views
41

自分のプログラムにユーザー固有の設定データを保存する必要があります。アプリケーションデータ/ AppData(ユーザーのディレクトリにある)とProgramData(システムドライブのルートにある)は、それを置くのに妥当な場所のようです。ProgramDataとAppDataの違いは何ですか?

プログラムデータとアプリケーションデータの違いは何ですか?

答えて

2

私はそれが

C:\Users\UserName\AppData 

に位置し、はProgramDataは、ユーザーに固有ではないので、あなたがAPPDATAにすべてのユーザーに特定のファイルを置くべきだと思います。 これは、私が思うに、異なるユーザーが使用しているときにあなたのプログラムのデータを共有するために使用することができます。

see this stackoverflow question

49

ストレートに言えば、はProgramDataは、ユーザーのコンピュータ上のすべてのユーザーが利用できるようになります .Thisデータ固有のものではないアプリケーションデータが含まれています。どんなグローバルデータもここに入れるべきです。

AppDataフォルダには、特定のユーザー用にダウンロードされた情報やファイルが含まれています。したがって、たとえば、ユーザー固有のプリファレンスとプロファイル構成をAppDataフォルダーに格納することができます。 AppDataフォルダーはさらに3つのサブフォルダーに分割されます
ローミング -このフォルダーには、ユーザープロファイルと共にコンピューターから別のコンピューターに移動できるデータが含まれています。
ローカル -このフォルダーには、ユーザープロファイルで移動しないデータが含まれています。
LocalLow -保護モードで動作しているWebブラウザに関する情報など、低レベルのアクセス情報をこのフォルダに入れることができます。

これで、保存に最適な情報の種類に応じて決定できるようになりました。

参考リンク:Windows CSIDL

+0

AppDataは、インストーラによって作成されたログファイルには行くべき?特定のアプリケーションのように聞こえる。しかし同時に、ユーザー固有のように聞こえます。インストーラを実行したユーザー(特に、インストール中に「自分専用のインストール」オプションを使用する場合)。インストーラを実行していないユーザーが、対応するログファイルを気にするのはなぜですか? – RBT

+0

LocalとProgramDataの定義は同じですが、明確にしたいですか? – Epirocks