¿Tiene Microsoft un documento de mejores prácticas en relación con el almacenamiento de datos de aplicación frente a datos de usuario en diferentes plataformas Windows?

Al crear una aplicación que estará orientada a muchas versiones de Windows, ¿cuál es la mejor práctica para determinar dónde se deben almacenar los datos específicos de la aplicación? Específicamente:

Datos específicos de la aplicación (por ejemplo, datos de configuración de la aplicación)Datos específicos del usuario / Configuración

Sé que en Windows Vista, por ejemplo, hay variables de entorno, como% APPDATA%, que podrían usarse, pero ¿qué pasa con Windows 7, Windows XP, Windows 98?

Mi pregunta principal es si Microsoft tiene un documento de mejores prácticas para esto, que describe las ubicaciones del sistema de archivos para los diferentes tipos de datos (aplicación contra usuario) y las implicaciones de seguridad que deben tenerse en cuenta al leer / escribir en estas ubicaciones ?

También estoy interesado en cómo esto se aplica no solo a las aplicaciones .NET (donde se puede utilizar ApplicationSettingsBase) sino también a las aplicaciones C / C ++ no administradas.

Gracias a Pax y Remus por las dos grandes respuestas. He encontrado este artículo también (específico para XP):

Cómo escribir una aplicación de Windows XP que almacena datos de usuarios y aplicaciones en la ubicación correcta utilizando Visual C ++

Respuestas a la pregunta(2)

Su respuesta a la pregunta