Tengo una aplicación que usa un archivo config.xml que se almacena en C: \ ProgramData \ MyApp
El archivo de configuración se crea y edita utilizando MyConfigApp.exe y luego lo lee la aplicación real MyApp.exe.
Durante la instalación, inicié sesión como administrador y todo funcionó a la perfección. Luego iniciamos sesión como usuario normal y funcionó perfectamente aquí también.
Entonces necesitábamos cambiar una configuración. Esto es algo que un usuario debería poder hacer, así que comenzamos MyConfigApp.exe y cambiamos la configuración.
Pero el cambio nunca se leyó en MyApp.exe.
Abrí c: \ ProgramData \ MyApp \ config.xml y los valores anteriores estaban en él.
Ahora descubrimos que el usuario no tenía derechos de escritura en el directorio ProgramData. Entonces Windows creó un nuevo archivo en VirtualStore, que no se usa desde MyApp.exe
Agregamos derechos de escritura en ProgramData (y subdirectorios) y eliminamos el archivo config.xml de VirtualStore.
¡PERO cada vez que el usuario ejecuta MyConfigApp.exe creará un archivo en VirtualStore!
¿Cómo hago para que MyConfigApp.exe lea y escriba el archivo en ProgramData?