Перенаправление файлов из данных Программы в 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»
и действительно, был файл, который существовал из предыдущей установки (который я, очевидно, не удалил, потому что я не знал, что он существует).
Очевидно, что существует некоторый виртуальный путь к файлу в данных программы.
РЕДАКТИРОВАТЬ :
Я обнаружил, что после удаления старого файла в виртуальном хранилище мое приложение внезапно может найти правильный файл. (Я не вносил никаких изменений в файл в разделе «Данные программы».
Мой вопрос:
почему это случилосьКак я могу предотвратить этозаранее спасибо