不Microsoft有一个最佳做法的文件有关的储存应用程序vs的数据用户的数据在不同窗口平台?

StackOverflow https://stackoverflow.com/questions/1507923

  •  19-09-2019
  •  | 
  •  

在创建一个应用程序,将针对的许多版本的Windows什么是最好的实践,以确定应用程序的具体数据应该被存储。具体而言:

  • 应用程序的具体数据(例如应用程序配置数据)
  • 用户专用数据/设置

我知道在Windows Vista例如有的环境变量,如%应用程序数据%,即可以被使用,但是有关Windows7,Windows XP、Windows98。

我的主要问题是,不Microsoft有一个最佳做法doc为此,概述了文件系统中的位置的不同类型的数据(程序与用户)和安全的影响,需要铭记当读写到这些位置?

我还感兴趣的是如何这涉及到不只。网应用程序(其中ApplicationSettingsBase可以利用的),但也在不受管理C/C++的应用。

感谢帕克斯和瑞摩斯这两个伟大的答案。我发现这个项目(具体来XP):

如何写Windows XP的应用存储用户和应用程序的数据在正确的位置,通过使用视觉C++

有帮助吗?

解决方案

有一个很好的介绍 在这里, 各CSIDL价值观和文件夹,他们提到(包括一个说明应该希望告诉你什么是你需要知道)。

它还含有链接的功能应该使用检索这些特殊的文件夹的路径。

注意,如Vista的方法,该方法已经改变了一点点。它现在使用 KNOWNFOLDERID 而不是的 CSIDL 和职能已经改变。看看 在这里,.

你仍然可以使用旧的职能(目前),因为我认为他们现在只是包装的新的问题。在某一点在未来,这可能会改变。

其他提示

这些通常被描述的 Windows软件的标志程序(链接破碎).链接到Windows7的标志要求的文件,但类似的文件存在XP和Windows2003年和Windows Vista2008年。在技术需求的部分,你会发现一些信息你正在寻找:

所有应用程序的数据必须 在用户之间共享计算机上 应该存在 ProgramData

所有应用数据专属于一个 特定用户而不是共享 与其他用户的电脑必须 被保存在 Users\<username>\AppData

在"每台机器"的装置,用户 数据必须写入在第一次运行,及 不过安装。这个是 因为没有正确的用户 位置存储数据的时间 安装。

编辑:

Windows10个用户,寻找 认证要求适用于Windows桌面应用程序(第10节)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top