¿Microsoft tiene un documento de mejores prácticas en relación con el almacenamiento de datos de aplicaciones y los datos actuales de los usuarios sobre diferentes plataformas de Windows?
Pregunta
Al crear una aplicación que se dirige a muchas versiones de Windows lo que es la mejor práctica para determinar dónde se deben almacenar los datos específicos de la aplicación. Específicamente:
- Aplicación de datos específicos (por ejemplo, aplicación de datos config)
- Datos específicos de usuario / Configuración
Sé que en Windows Vista, por ejemplo, existen variables de entorno, como% APPDATA%, que se podrían utilizar, pero ¿qué pasa con Windows 7, Windows XP, Windows 98.
Mi pregunta principal es, qué Microsoft tiene una mejor doc prácticas para esto, delineando las ubicaciones del sistema de archivos para los diferentes tipos de datos (app vs. usuario) y las implicaciones de seguridad que deben tenerse en cuenta al leer / escribir a estos lugares?
También estoy interesado en cómo esto se refiere no sólo a las aplicaciones .NET (donde ApplicationSettingsBase se puede utilizar), sino también en C no administrado / aplicaciones C ++.
Gracias a Pax y Remo tanto de las grandes respuestas. He encontrado este artículo también (específico para XP):
Solución
Hay una buena descripción aquí de los diversos valores CSIDL y las carpetas que se refieren a (incluyendo una descripción que debe decirle lo que es de esperar que necesita saber).
También contiene enlaces a las funciones que debe utilizar para recuperar estas rutas de carpeta especial.
Tenga en cuenta que, a partir de Vista, el método ha cambiado un poco. Ahora utiliza KNOWNFOLDERID
en lugar de CSIDL
y las funciones han cambiado también. Ver aquí .
Puede seguir utilizando las funciones de mayor edad (por el momento), ya que creo que son ahora tan sólo las envolturas alrededor de las nuevas. En algún momento en el futuro, eso puede cambiar.
Otros consejos
Estos se describen generalmente en el Programa del logotipo de Windows Software (enlace roto) . El enlace es el documento de Windows 7 requisitos del logotipo, pero existe documentos similares para XP, Windows 2003, Windows Vista y Windows 2008. En los Requisitos Técnicos sección encontrará algunos de la información que está buscando:
Todos los datos de aplicación que debe estar compartida entre los usuarios en el equipo debe ser almacenada dentro de
ProgramData
Todos los datos de aplicación exclusiva a una de usuario específico y no para ser compartido con otros usuarios de la necesidad de ordenador ser almacenados en
Users\<username>\AppData
En las instalaciones “por equipo”, el usuario los datos deben ser escritos en la primera carrera y no durante la instalación. Esto es porque no hay ningún usuario correcto ubicación para almacenar los datos en el momento de la instalación.
EDIT:
Windows 10 usuarios, buscan la Los requisitos de certificación para el escritorio de Windows Aplicaciones (Sección 10)