Redirección de archivos desde los datos del Programa a AppData \ Local \ VirtualStore \ ProgramData

Estoy usando C # con .net 3.5

Estoy guardando los datos de mi programa en un archivo en: C: \ Datos de programa \ MyProgramName \ fileName.xml

Después de instalar y ejecutar mi aplicación una vez que la desinstalé (durante la desinstalación, elimino todos los archivos de los "datos del programa") y luego reinstalo la aplicación y la ejecuté.

El extraño problema es que mi aplicación se inició como si existieran los archivos en los datos del programa, es decir, tenía datos antiguos en mi aplicación a pesar de que el archivo de datos fue eliminado.

Cuando se ejecuta:

File.Exists("C:\Program Data\MyProgramName\fileName.xml")

Me volví "verdadero" aunque sabía con certeza que el archivo no existe.

a cosa se volvió más extraña cuando ejecuté la aplicación como administrador y luego el archivo no existía.

Después de una investigación, descubrí que cuando ejecuto mi aplicación sin privilegios de administrador en lugar de obtener: "C: \ Program Data \ MyProgramName \ fileName.xml" Obtengo "C: \ Users \ userName \ AppData \ Local \ VirtualStore \ ProgramData \ MyProgramName \ fileName.xml "

y de hecho había un archivo de la instalación anterior (que obviamente no eliminé, porque no sabía que existía).

e modo que aparentemente hay alguna ruta virtual al archivo bajo los datos del programa.

EDIT:

Descubrí que después de eliminar el archivo anterior en la tienda virtual, mi aplicación de repente puede encontrar el archivo correcto. (No realicé ningún cambio en el archivo en Datos del programa.

Mi pregunta es

por qué sucede? ¿Cómo puedo evitar que suceda?

Gracias por adelantad

Respuestas a la pregunta(4)

Su respuesta a la pregunta