2011-12-06 4 views
5

のすべてのユーザーに対して実行する必要があるWPFアプリケーションは、同じ設定のマシンです。設定は読み書き可能でなければなりません。私はCommonApplicationDataが、彼らは、マシン固有のものではありませんつまり、移動プロファイルに使用されていることを今朝読んしかし、私は、以前の例ローミングしていないユーザーのマシン全体のアプリケーション設定はどこに保存する必要がありますか?

var settingsFile = Path.Combine(Environment.GetFolderPath(
    Environment.SpecialFolder.CommonApplicationData), 
    "[company]", "[product]", "settings.xml"); 

ため、CommonApplicationDataにユーザーの構成の設定を保存されています。私が見つけることができるものから、我々は(source)アプリケーションデータについては、以下のオプションがあります。

// Store application-specific data for the current roaming user. 
// A roaming user works on more than one computer on a network. 
// A roaming user's profile is kept on a server on the network and is loaded onto a system ' when the user logs on. 
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 


// Store in-common application-specific data that is used by all users. 
System.Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); 


// Store application-specific data that is used by the current, non-roaming user. 
System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); 

要約すると、オプションが ローミング、

  • すべてのユーザーをローミング、

    • シングルユーザーであります
    • シングルユーザー、ローミングなし

    私が必要とするのは、ローミングしていないすべてのユーザーです。私の最初の考えは、インストールフォルダにすべてそれをチャックすることですが、それは少し古い学校のようですか?

    思考?

  • +1

    あなたは 'CommonApplicationData'がローミングしているとお伝えしましたか?私はちょっと奇妙だと思っています... –

    +0

    私はBill Wagnerの本Effective C#でそれを読んでいます。しかし、それは私がこのお菓子を見つけることができる唯一の場所なので、おそらくそれはワーグナーの部分ではまれなミスであり、私がこれについて間違っていると聞くことに非常に興味があります。 –

    +0

    [MSDN](http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx)のドキュメント:「使用されるアプリケーション固有のデータの共通リポジトリとして機能するディレクトリすべてのユーザーによって。 –

    答えて

    2

    Here is a good explanationのappdataフォルダとローミングユーザーに関連するその他のアイテム。よる

    MSDN Documentation

    CommonApplicationData

    LocalApplicationDataであるのに対し、「ディレクトリ「のすべてのユーザーによって使用されるアプリケーション固有のデータの共通リポジトリとして機能するディレクトリ」があります現在のローミングしていないユーザーによって使用されているアプリケーション固有のデータの共通のリポジトリとして機能します。

    1

    私の好みは、Application Settingsです。これはアプリケーションごとに、またはユーザーごとに設定ごとに自由に設定できます。

    関連する問題