代码之家  ›  专栏  ›  技术社区  ›  drharris

存储自定义配置文件的位置

  •  3
  • drharris  · 技术社区  · 16 年前

    我当前在应用程序目录中存储了一个序列化的XML文件,其中包含特定于程序操作的所有更改(不是典型的系统或用户配置)。几周前,我们开始遇到无法正确保存的问题(请参阅 my previous question 关于这个)。

    我们还尝试以管理员身份运行它,并使文件夹权限完全开放(我们可以控制它运行的每台计算机;它永远不会在随机人的机器上运行)。但是,这些有时起作用,有时不起作用。

    所以,我的问题是,如果不是在程序文件中,我应该在哪里存储这个文件?我应该把它放在APPDATA里,然后做一个小的实用程序,在出现问题时自动给我们发邮件吗?或者我可以把它留在程序文件中,但是更改一些特定的权限或注册表项以允许它正常运行?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Mike Caron    16 年前

    这取决于用户是否需要直接编辑文件。如果没有,您应该将它们放在%APPDATA%中,您可以通过以下方式访问它们:

    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
    

    否则,你可以把它放在我的文件里:

    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
    

    不管怎样,把它放在程序文件里都不是个好主意。正如您所发现的,即使以管理员身份运行,也存在权限问题。

        2
  •  1
  •   MCain    16 年前

    对于这些用户,您可以在中构建一个按钮来打开此目录。你可以把它放在一个不显眼的地方,你可以稍后指导他们。