2012-03-01 12 views
47

¿Cuál es la importancia de la carpeta ProgramData en Windows?¿Cuál es el significado de la carpeta ProgramData en Windows?

He notado que muchos programas instalados almacenan archivos en un subdirectorio de la carpeta ProgramData. ¿Hay alguna razón específica para eso?

Tengo que crear un instalador para mi aplicación. ¿Debo almacenar archivos de nivel de usuario en ProgramData o en Users?

Respuesta

52

El documentation describe el uso previsto de esta carpeta como esto (el énfasis es mío):

El directorio de sistema de archivos que contiene los datos de aplicación para todos los usuarios. Una ruta típica es C: \ Documents and Settings \ All Users \ Application Data. Esta carpeta se utiliza para datos de aplicaciones que no son específicos del usuario. Por ejemplo, una aplicación puede almacenar un diccionario de revisión ortográfica, una base de datos de imágenes prediseñadas o un archivo de registro en la carpeta CSIDL_COMMON_APPDATA. Esta información no vagará y está disponible para cualquiera que use la computadora.

Tenga en cuenta que esta documentación hace referencia a la ruta de acceso típica según las versiones anteriores de Windows. En las versiones modernas de Windows, se encuentra en %SystemDrive%\ProgramData.

Bastante decepcionante, la cita anterior es de la herencia ahora CSIDL documentación. Pero la documentación para el reemplazo KNOWNFOLDERID omite las descripciones útiles de lo que se pretende hacer con estas carpetas especiales. Entonces, para poder llegar al fondo de preguntas como esta, debe referirse a ambos temas, hasta donde yo sé.

+0

¡Ah, esto es mucho mejor de lo que se me ocurrió! – Jon

+0

@Jon Por otro lado, su enlace MSDN tiene al menos una ruta típica actualizada para 'CSIDL_COMMON_APPDATA' /' FOLDERID_ProgramData'. Esta es un área de MSDN que es bastante opaca en mi opinión. –

+0

Su explicación lo deja en claro ... gracias – Ullan

Cuestiones relacionadas