Tengo el siguiente problema al tratar de usar una sección de configuración personalizada en mi app.config. Yo uso una sección de configuración personalizada para realizar un seguimiento de una selección de carpetas que quiero hacer copia de seguridad con mi programa de este modo:Guardar los resultados de la sección de configuración personalizada en System.UnauthorizedAccessException
<CustomConfigSection>
<BackupLocations>
<clear />
<add path="C:\Users\Marcel\Documents\" />
</BackupLocations>
</CustomConfigSection>
Ahora, cada vez que guarde el archivo de configuración consigo esta excepción:
System.Configuration.ConfigurationErrorsException: Se produjo un error cargando un archivo de configuración: acceso a la ruta C: \ Archivos de programa (x86) \ Backup Solutions \ uqhuxi1j.tmp denegado. (C: \ Archivos de programa (x86) \ Backup Soluciones \ BS.exe.Config) ---> System.UnauthorizedAccessException
El código que utilizo es:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
CustomConfigSection section = (CustomConfigSection)config.GetSection("CustomConfigSection");
section.BackupLocations.Add(element);
section.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
Estos trabajos bien cuando inicias sesión como administrador y solo ocurre cuando hay varias cuentas configuradas en una PC, entonces esto significa que es un problema de UAC/permisos. Como usuario normal, no tengo los permisos de escritura adecuados para esa carpeta.
Ahora mi pregunta (s):
¿Cómo es que la configuración de usuario se guardan en la sección de configuración personalizada AppData y está tratando de ahorrar en el ApplicationFolder/exe.config? ¿Cómo puedo hacer que mi sección personalizada también se guarde en el archivo de configuración de AppData?
Necesito poder guardar mis datos para cada usuario, independientemente de los permisos. Entonces, ¿puedo lograr esto usando una sección de configuración personalizada o necesito un enfoque diferente? Preferiblemente, me gustaría guardar mi sección personalizada en el archivo de configuración de AppData también. No quiero usar trucos en mi Instalador para ajustar los permisos a la carpeta de mi aplicación para permitir que escriba. ¡Sobre todo no quiero requerir permisos de administrador al iniciar mi programa!
Gracias por sus respuestas, muy apreciadas.