2013-04-29 158 views
41

我需要为我的程序存储一些用户特定的配置数据。应用程序数据/应用程序数据(在用户的目录中)和程序数据(在系统驱动器的根目录中)似乎是合理的放置它的地方。ProgramData和AppData有什么不同?

程序数据和应用程序数据与我应该使用哪些区别?

回答

2

我想你应该把所有的用户特定的文件到应用程序数据,因为它位于

C:\Users\UserName\AppData 

和Programdata不是特定于用户。 我认为,它可以用于共享您的程序的数据时,由不同的用户使用。

see this stackoverflow question

49

说得直,ProgramData包含不特定于用户的。这数据,将提供给计算机上的所有用户的应用程序数据。任何全球数据都应放在这里。

AppData文件夹包含特定用户的配置设置,下载的信息/文件。因此,例如,任何用户特定的偏好和配置文件配置都可以存储在AppData文件夹中。 AppData文件夹进一步分为三个子文件夹
漫游 -此文件夹包含可随用户配置文件从计算机移动到另一个的数据。
本地 -此文件夹包含不会随用户配置文件一起移动的数据。
LocalLow -您可以在此文件夹中放入低级访问信息,例如与在受保护模式下运行的Web浏览器相关的信息。

您现在可以根据信息的类型来决定哪种信息是最适合存储的地方。

参考链接:Windows CSIDLAppData

+0

应该在哪里安装程序创建一个日志文件去?这听起来像是一个特定应用程序但它也听起来像是w.r.t.运行安装程序的用户(特别是在安装过程中使用“仅为我安装”选项时)。为什么没有运行安装程序的用户会关心其相应的日志文件? – RBT 2017-02-23 01:48:20

+0

你对Local和ProgramData的定义听起来是一样的,你想澄清一下 – Epirocks 2017-03-09 10:27:27