我需要为我的程序存储一些用户特定的配置数据。在用户目录中的“应用程序数据/AppData”和系统驱动器根目录中的“程序数据/ProgramData”似乎都是不错的选择。
“程序数据/ProgramData” 和 “应用程序数据/AppData” 之间有什么区别,我应该使用哪个?
我需要为我的程序存储一些用户特定的配置数据。在用户目录中的“应用程序数据/AppData”和系统驱动器根目录中的“程序数据/ProgramData”似乎都是不错的选择。
“程序数据/ProgramData” 和 “应用程序数据/AppData” 之间有什么区别,我应该使用哪个?
简单来说,ProgramData包含不特定于用户的应用程序数据。这些数据将对计算机上的所有用户可用。任何全局数据都应放在此处。
AppData 文件夹包含配置设置,特定于某个用户的下载信息/文件。因此,例如,任何特定于用户的首选项和配置文件可以存储在 AppData 文件夹中。AppData 文件夹进一步分为三个子文件夹:
Roaming - 该文件夹包含可以随用户配置文件从一个计算机移动到另一个计算机的数据。
Local - 该文件夹包含不会随用户配置文件移动的数据。
LocalLow - 您可以将低级访问信息(例如,与保护模式下运行的 Web 浏览器相关的信息)放入此文件夹。
现在,您可以根据信息类型决定最佳存储位置。
参考链接:Windows CSIDL 和 AppData
我认为你应该把所有用户特定的文件放到appdata中,因为它位于
C:\Users\UserName\AppData
而Programdata不是针对用户特定的。我认为,当不同用户使用您的程序时,它可以用于共享程序数据。