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

时间:2009-08-03 20:46:40

标签: windows configuration

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

我们看到的一个问题是用户希望在以无权写入目录的用户身份登录时编辑此应用程序(来自应用程序)。我们的应用程序通常安装并最初配置为管理员,但主要由(几个不同的)有限用户使用。

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

5 个答案:

答案 0 :(得分:2)

C:\ Documents and Settings \ All Users \ Application Data \< Your App>可能是一个值得考虑的好地方。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

本地化有多重要?如果本地化不是高优先级,您可以将文件存储在%allusersprofile%\ Application Data \中 - 这是所有用户帐户都可以访问的appdata文件夹,并且无论安装在何处都可以使用,但仅适用于英文操作系统安装。

如果要将文件存储在本地用户的目录中并为每个用户提供自己的文件,则可以使用%appdata% - 该文件将完全本地化。但是,每个用户都需要自己的副本,因此如果您需要通用配置,它将无法工作。

如果您需要它对所有用户都是通用的,并且100%本地化,则需要做更多的工作。我试图找到类似%allusersappdata%的东西,虽然我可以在网上找到该字符串的引用,但我无法让它在我自己的系统上工作。我找到的解决方法是提取%appdata%以找到单词Application Data的本地化文本,然后使用它来浏览%allusersprofile%下的子文件夹 - 有点复杂,但它是我能找到的最无懈可击的方式做到这一点。如果你有一个直接路径可以到达那个文件夹,请有人纠正我。

答案 4 :(得分:0)

我会尝试以前的question

其中说:

  

System.Environment.SpecialFolder.LocalApplicationData

如果您使用的是.NET