Перенаправление файлов из данных Программы в AppData \ Local \ VirtualStore \ ProgramData

Я использую C # с .net 3.5

Я сохраняю данные моей программы в файле: C: \ Program Data \ MyProgramName \ fileName.xml

После установки и запуска моего приложения один раз я удалил его (во время удаления я удаляю все файлы из «данных программы»), а затем переустановил приложение и запустил его.

Странно то, что мое приложение запускалось так, как если бы файлы в данных программы существовали - значит, в моем приложении были старые данные, хотя файл данных был удален.

Когда работает:

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

Я получил "истину", хотя я точно знал, что файл не существует.

Это стало странным, когда я запустил приложение от имени администратора, а затем файл не существовал.

После исследования я обнаружил, что при запуске моего приложения без прав администратора вместо получения: «C: \ Program Data \ MyProgramName \ fileName.xml» я получаю C: \ Users \ userName \ AppData \ Local \ VirtualStore \ ProgramData \ MyProgramName \ filename.xml»

и действительно, был файл, который существовал из предыдущей установки (который я, очевидно, не удалил, потому что я не знал, что он существует).

Очевидно, что существует некоторый виртуальный путь к файлу в данных программы.

РЕДАКТИРОВАТЬ :

Я обнаружил, что после удаления старого файла в виртуальном хранилище мое приложение внезапно может найти правильный файл. (Я не вносил никаких изменений в файл в разделе «Данные программы».

Мой вопрос:

почему это случилосьКак я могу предотвратить это

заранее спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос