这是保持程序的配置文件在WINDOWS的最佳位置?(Which is the best locati

2019-10-17 01:20发布

我的程序需要一些配置细节被关在一个.ini文件。 该程序也安装扩展IE和Firefox,我想读这些扩展也是这些.ini文件。 如果我一直在的.ini“...应用程序数据/漫游......”的IE扩展在保护模式下将无法读/写。 据我知道,只有应用程序数据/ LocalLow可以只能够在保护模式下阅读。 如果我将所有我的配置细节,该“...... AppData的/ LocalLoe ......”将它的工作任何时候? 这是性病呢? 我写的一切都是在Vista下,将它与XP工作? Win7的?

Answer 1:

见我回答这个问题: 如何决定存储每个用户的状态? 注册? 应用程序数据? 独立存储?

从那里引用:

在用户“漫游”在XP在Vista或“应用程序数据”文件夹中的文件移动与周围的用户 - 因此,任何设置和数据应该存储在那里。

下XP“本地”和“LocalLow”,在Vista和“本地设置”文件没有,所以它是临时文件,东西都是绑定到特定的计算机或数据可以重新计算的好地方。

在Vista中,作为新的安全功能,我们都知道,爱的一部分,你可以在“低完整性模式”(例如在IE保护模式)运行时,这些程序可以被降低的权限运行程序和无法访问的文件用户的个人资料 - 除了“LocalLow”文件夹下的文件。

所以,综上所述,存储在“LocalLow”文件本身是不安全的,在“本地” /“本地设置”文件可能是在一些大公司不可用 - 所以,除非你有很好的理由,知道自己在做什么去“漫游” /“应用程序数据”。

更新:

  1. 当使用配置文件漫游(大合作环境)的本地内容和LocalLow可以(并且会),恕不另行通知消失。
  2. 这些都是每个用户设置,如果你的服务器下不同势帐户比用户运行(例如,系统或网络),他们将获得这些文件夹的不同势副本。


Answer 2:

要获取程序数据,你应该使用WinAPI的文件夹路径:

wchar_t path_buf[MAX_PATH];
SHGetFolderPath( NULL, CSIDL_COMMON_APPDATA, NULL, SHGFP_TYPE_CURRENT, &path_buf[0] );

在Windows Vista中的功能的SHGetFolderPath被替换SHGetKnownFoldedPath 。 较旧的功能,现在简直是SHGetKnownFolderPath的包装。



文章来源: Which is the best location to keep program configuration file in WINDOWS?