存储具有所有用户的读/写权限的应用程序数据的最佳目录?

时间:2010-04-10 18:49:28

标签: windows language-agnostic file-io

在Windows Vista之前,我将应用程序数据保存到程序所在的目录中。最常见的地方是“C:\ Program Files \ MyApplication”。我们知道,在Vista之后,普通用户无权在“Program Files”文件夹下写入。 所以我的第一个想法是将应用程序数据保存在“所有用户\应用程序数据”文件夹下。但似乎这个文件夹也有写作限制!

总而言之,我的要求是:

  • 该文件夹应存在于Windows XP及更高版本中。
  • 系统的所有用户都应具有对此文件夹及其子文件夹和文件的读\写\创建权限。
  • 我希望所有用户只拥有一个文件\文件副本。

3 个答案:

答案 0 :(得分:2)

使用环境变量通常很好,所以你可以保持更通用的东西。

Vista已经改变了一些东西,NTFS连接点。见http://www.svrops.com/svrops/articles/jpoints.htm

无论如何,使用%appdata%应该自动将文件放在xp / vista / 7上的适当位置

答案 1 :(得分:1)

没有这样的位置。即使在Windows XP(也可能是2000年)上,也不存在这样的位置;我们认为这样做是因为我们都运行了管理权限。直到Vista强迫我们以有限的用户身份运行才意识到我们的错误假设。您将不得不在目录中明确设置权限。

答案 2 :(得分:0)

我会创建一个像All Users \ Application Data \ YourAppName \ Shared这样的子文件夹,这样就可以清楚地看到该文件夹​​只包含所有用户可写的文件,并在安装程序中设置权限。