7

我有一个必须为具有相同设置的机器的所有用户运行的 WPF 应用程序。设置必须是读/写的。例如,我以前一直在 CommonApplicationData 中存储用户配置设置

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

但是我今天早上读到的CommonApplicationData是用于漫游配置文件的,这意味着它们不是特定于机器的。据我所知,我们有以下应用程序数据选项():

// 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);

总而言之,选项是

  • 单用户,漫游
  • 所有用户,漫游
  • 单用户,非漫游

我需要的是所有用户,非漫游。我最初的想法是将其全部放入安装文件夹中,但这似乎有点老派?

想法?

4

2 回答 2

4

这是对 appdata 文件夹和其他与漫游用户相关的项目的一个很好的解释。

根据MSDN 文档

CommonApplicationData是“用作所有用户使用的特定于应用程序数据的公共存储库的目录”

然而

LocalApplicationData是“用作当前非漫游用户使用的特定于应用程序数据的公共存储库的目录”。

于 2011-12-06T21:53:27.163 回答
0

我对此的偏好是应用程序设置,它可以是应用程序范围内的,也可以是每个用户的,如您所愿。

于 2011-12-06T22:07:28.713 回答