У меня есть приложение, которое использует файл config.xml, который хранится в C:\ProgramData\MyApp
Файл конфигурации создается и редактируется с использованием MyConfigApp.exe, а затем читается самим приложением MyApp.exe.
Во время установки я вошел в систему как администратор, и все работало отлично! Затем мы вошли в систему как обычный пользователь, и это также отлично работало здесь.
Тогда нам нужно было изменить конфигурацию. Это то, что должен делать пользователь, поэтому мы запустили MyConfigApp.exe и изменили конфигурацию.
Но изменение никогда не считывалось в MyApp.exe.
Я открыл c:\ProgramData\MyApp\config.xml и старые значения в нем.
Теперь мы обнаружили, что у пользователя нет прав на запись в каталог ProgramData. Таким образом, Windows создала новый файл в VirtualStore, который не используется из MyApp.exe
Мы добавили права записи в ProgramData (и подкаталоги) и удалили файл config.xml из VirtualStore.
НО каждый раз, когда пользователь запускает MyConfigApp.exe, он создает файл в VirtualStore!
Как сделать так, чтобы MyConfigApp.exe считывал и записывал файл в ProgramData?