Pregunta

Mi programa requiere algunos detalles de configuración para ser guardados en un archivo .ini. Este programa también instala extensiones de IE y Firefox y quiero leer estos archivos .ini de estas extensiones también. Si seguía en ini "... AppData / Roaming ..." la extensión IE en modo protegido no será capaz de leer / escribir. Por lo que yo sé que sólo AppData / LocalLow sólo puede ser capaz de leer en modo protegido. Si yo estoy moviendo todos los detalles de mi configuración para este "... AppData / LocalLoe ..." va a trabajar todos los tiempos? Es esta la forma std? todo lo que he escrito es en el contexto de Vista, va a trabajar con XP? Win7?

¿Fue útil?

Solución

Véase mi respuesta a esta pregunta: ¿Cómo decidir dónde almacenar el estado de cada usuario? ¿Registro? ¿Datos de aplicación? Almacenamiento aislado?

citar a partir de ahí:

Los archivos en la carpeta del usuario "Roaming" en Vista o "Datos de programa" en XP moverse con el usuario - por lo que cualquier configuración y los datos deben ser almacenados allí

.

Los archivos bajo "local" y "LocalLow" en Vista y "Configuración local" en XP no lo hacen, por lo que es un buen lugar para los archivos temporales, las cosas que están vinculados a la computadora o los datos específicos que pueden ser recalculada.

En Vista, como parte de las nuevas características de seguridad que todos conocemos y el amor, puede hacer que los programas que se ejecutan en "modo de integridad de baja" (por ejemplo, Internet Explorer en modo protegido), esos programas se ejecutan con privilegios reducidos y no pueden acceder a archivos en el perfil del usuario. - a excepción de los archivos de la carpeta "LocalLow"

Así que, en conclusión, los archivos almacenados en "LocalLow" son inherentemente inseguro y archivos en "Configuración local" "local" / es probable que no esté disponible en algunas grandes empresas - lo menos que tenga una buena razón y sabe exactamente lo que está haciendo ir con "Roaming" / "datos de programa".

ACTUALIZACIÓN:

  1. Cuando se utiliza el perfil de itinerancia (grande cooperar ambientes) el contenido de local y LocalLow puede (y será) desaparecen sin previo aviso.
  2. Esos son todos los parámetros de cada usuario, si el servidor se ejecuta bajo una cuenta de diffrent que el usuario (por ejemplo, sistema o red) van a obtener copias de diffrent de esas carpetas.

Otros consejos

Para obtener la ruta de la carpeta de datos de programa que puedes usar API de Windows:

wchar_t path_buf[MAX_PATH];
SHGetFolderPath( NULL, CSIDL_COMMON_APPDATA, NULL, SHGFP_TYPE_CURRENT, &path_buf[0] );

En función de Windows Vista SHGetFolderPath se sustituyó SHGetKnownFoldedPath . Esa función avanzadas es simplemente un contenedor para SHGetKnownFolderPath.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top