你在哪里存储你的setting.xml?

对于我们的几个应用程序,我们使用应用程序configuration文件 它通常只存储一些目录path和一些通用设置。 我们通常将它保存在应用程序目录(C:/ Program Files / MyAppName)

我们看到的一个问题是,用户希望在以无权访问目录的用户身份login时编辑(从应用程序)。 我们的应用程序通常安装并初始configuration为pipe理员,但主要由(几个不同的)有限的用户使用。

是否有一个好的方法来使所有用户都可以读取/写入setting.xml文件? 还是放个好地方呢?

C:\ Documents and Settings \ All Users \ Application Data \ <您的应用程序>可能是一个体面的地方考虑。

将CSIDL_COMMON_APPDATA传递给SHGetSpecialFolderPath以获取可写的共享根数据目录。 鉴于您可以为您的公司和应用程序创建一个目录。

应用程序数据文件夹或移到注册表。

本地化有多重要? 如果本地化不是高优先级,则可以将文件存储在%allusersprofile%\ Application Data \中 – 这是所有用户帐户都可访问的appdata文件夹,无论安装的位置如何,都可以工作,但只能在英文操作系统上安装。

如果要将文件存储在本地用户的目录中,并为每个用户分配一个文件,则可以使用%appdata% – 将完全本地化。 但是,每个用户都需要他们自己的副本,所以如果你需要一个通用的配置,它将不起作用。

如果您需要它对所有用户都是共同的,并且100%本地化,您需要做更多工作。 我试图找到像%allusersappdata%这样的东西,虽然我可以在线找到该字符串的引用,但是我无法使它在我自己的系统上工作。 我找到的解决方法是拉起%appdata%来查找单词Application Data的本地化文本,然后使用它浏览到%allusersprofile%下的子文件夹 – 稍微复杂一些,但这是我能找到的最坚固的方法这样做。 有人请纠正我,如果有一个直接的路径,你可以使用该文件夹。

我会尝试这个以前的问题 。

其中说:

System.Environment.SpecialFolder.LocalApplicationData

如果你使用.NET