Мое приложение записывает свой файл конфигурации, который обновляется при запуске и выходе, в Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData). При запуске он создает подпапку там, например, «company», а затем создает файл конфигурации там. Если папка компании не существует, она ее создает. Все методы, которые создают или записывают файлы, обрабатывают IOException и отображают MessageBox. Если у пользователя есть разрешение на запись, файл конфигурации записывается в подпапку компании. Все работает, если у пользователя есть соответствующие права на запись.
Чтобы проверить, что происходит, если у пользователя нет разрешения на запись в подпапку компании, я удалил файл конфигурации, а затем изменил разрешение на запись в подпапке компании на Отрицать. Я переключился на этого пользователя, запустил приложение, изменил размер окна и вышел из приложения, которое записывает измененный размер окна в файл конфигурации. Не было никаких исключений ввода-вывода. Но файл конфигурации не был в подпапке компании и не появляется в папке VirtualStore. Поэтому при следующем запуске конфигурация не изменилась.
Файл конфигурации был записан в другое виртуальное место? где?
Windows 7. Net 2.0 Приложение WinForms