2013-03-12 5 views
7

要約:複数の異なるユーザーが特定のマシンで自分のアプリケーションを使用します。私は、アプリケーションを実行しているユーザーに関係なく、このマシン上の単一の共通ファイルにデータを保存するようにします。私が欲しいものを達成するために'ApplicationData'または 'LocalApplicationData'を使用して、すべてのユーザーに共通のファイルを保存しますか?

、私はこの質問には、関連するかもしれないかどうかを疑問に思って:

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) 

マシンに固有のものです:ように見えるその質問とその答えからDifference between 'SpecialFolder.LocalApplicationData' and 'SpecialFolder.ApplicationData'?

。私が検索した情報の中には、それを確認するものがあります。しかし、私はまた、LocalApplicationDataというユーザーの特定の情報という情報を見つけました。

これは本当ですか?そして、「ユーザー固有の」と「マシン固有の」が本当に何を意味しているか教えてもらえますか?

LocalApplicationDataがマシン固有の場合は、すべてのデータをすべてのユーザーに共通の1つのファイルに保存するための基礎として使用できます。

私もApplicationDataフォルダについて思ったんだけど:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) 

私の代わりに私が欲しいものを得るためにApplicationDataを使用する必要がありますか?

+1

を使用しています。 aspx)CommonApplicationData。 –

+1

@RaymondChenなぜこれは答えではないのですか?答えは見ていますか? – pixelbadger

+1

おそらくbecauそれは答えではありません、c:\ programdataは書き込み可能ではありません。 Windowsの既定のインストールでは、すべてのユーザーが書き込むことができるフォルダはありません。これが重要な場合は、1つ作成してEverybodyにアクセス権を与える必要があります。あるユーザーが別のユーザーのデータを不正に扱い、バックアップを取っていないということは、かなり頭痛になることがあります。これがファイルサーバーが存在する理由です。 –

答えて

5

ApplicationDataLocalApplicationDataは、現在ログインしているユーザーのみがアクセスできます。これら2つの違いは、ApplicationDataがレプリケートされ、エンタープライズ環境でユーザーが使用している他のデバイスと同期されていることです。これは、ユーザーの設定を保存するために使用されます。

レイモンドが示唆したように(see docs)、別のフォルダを使用したいとしている。CommonDocumentsは、すべてのユーザー間で共有される文書のための良いオプションになります。CommonMusicあなたがように音楽を保存している場合。

あなたが保存したいしている場合疑問に(http://msdn.microsoft.com/en-us/library/system.environment.specialfolder [ドキュメントを読む]とき

は、アプリケーション固有のファイルがEnvironment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData)

+2

要約すると、両方ともユーザー固有であり、 'LocalApplicationData'もまたマシン固有です。 – MicroVirus

関連する問題