A Microsoft tem um documento de práticas recomendadas em relação ao armazenamento de dados do aplicativo versus dados do usuário em diferentes plataformas do Windows?

Ao criar um aplicativo que será direcionado para muitas versões do Windows, qual é a melhor prática para determinar onde os dados específicos do aplicativo devem ser armazenados. Especificamente:

Dados específicos do aplicativo (por exemplo, dados de configuração do aplicativo)Dados Específicos do Usuário / Configurações

Eu sei que no Windows Vista, por exemplo, existem variáveis ​​de ambiente, como% APPDATA%, que poderiam ser usadas, mas que sobre o Windows 7, Windows XP, Windows 98.

Minha principal questão é: a Microsoft tem um documento de práticas recomendadas para isso, descrevendo os locais do sistema de arquivos para os diferentes tipos de dados (aplicativo vs. usuário) e as implicações de segurança que devem ser lembradas ao ler / gravar nesses locais? ?

Também estou interessado em saber como isso se aplica não apenas aos aplicativos .NET (nos quais o ApplicationSettingsBase pode ser utilizado), mas também em aplicativos C / C ++ não gerenciados.

Obrigado a Pax e Remus pelas duas ótimas respostas. Eu encontrei este item também (específico para o XP):

Como escrever um aplicativo do Windows XP que armazena dados de usuário e aplicativo no local correto usando o Visual C ++

questionAnswers(2)

yourAnswerToTheQuestion