Microsoft是否有关于在不同Windows平台上存储应用程序数据与用户数据的最佳实践文档?

n7taea2i  于 2022-12-14  发布在  Windows
关注(0)|答案(2)|浏览(105)

创建面向多个Windows版本的应用程序时,确定应在何处存储应用程序特定数据的最佳做法是什么?具体来说:

  • 应用程序特定数据(例如应用程序配置数据)
  • 用户特定数据/设置

例如,我知道在Windows Vista上可以使用环境变量,如%APPDATA%,但Windows 7、Windows XP和Windows 98呢?
我的主要问题是,微软是否有一个最佳实践文档,概述了不同类型数据(应用程序与用户)的文件系统位置,以及在阅读/写入这些位置时需要记住的安全含义?
我还感兴趣的是,这不仅与.NET应用程序(其中可以利用ApplicationSettingsBase)有关,而且与非托管C/C++应用程序有关。
感谢Pax和Remus给出的两个很好的答案。我也找到了这个项目(特定于XP):
How to write a Windows XP Application that stores user and application data in the correct location by using Visual C++

cngwdvgl

cngwdvgl1#

有一个很好的描述here的各种CSIDL值和文件夹,他们引用(包括一个描述,希望应该告诉你你需要知道)。
它还包含指向用于检索这些特殊文件夹路径的函数的链接。
请注意,在Vista中,方法有一些变化。现在使用KNOWNFOLDERID代替CSIDL,函数也有变化。请参见here
你仍然可以使用旧的函数(目前),因为我相信它们现在只是新函数的 Package 器。在未来的某个时候,这可能会改变。

jjjwad0x

jjjwad0x2#

这些通常在Windows Software Logo Program (link broken)中进行说明。该链接指向Windows 7徽标要求文档,但XP、Windows 2003、Vista和Windows 2008也有类似的文档。在“技术要求”部分,您可以找到您要查找的一些信息:
必须在计算机上的用户之间共享的所有应用程序数据都应存储在ProgramData
特定用户专用且不与计算机的其他用户共享的所有应用程序数据必须存储在Users\<username>\AppData
在“每台计算机”安装中,用户数据必须在第一次运行时写入,而不是在安装过程中写入。这是因为安装时没有正确的用户位置来存储数据。
编辑:
Windows 10用户,请查找Windows桌面应用的认证要求(第10部分)

相关问题