У нас есть приложение, созданное для платформ Windows Mobile и Windows, с использованием Visual Studio 2005. У нас есть обе версии этого приложения, разработанные с использованием единой базы кода, чтобы попытаться уменьшить дублирование кода.Одна из проблем, с которой мы столкнулись, заключалась в том, что ConfigurationManager был недоступен для платформы Windows Mobile.Мы решили эту проблему, создав собственный ConfigurationManager, который считывает и записывает параметры в файл «Application.exe.config» в папке «Program Files».Таким образом, и наша версия для Windows, и наша версия для Windows Mobile используют один и тот же пользовательский ConfigurationManager.
Это хорошо работало в Windows XP и Windows Server 2003, но в Windows 7 мы столкнулись с проблемой, и я не знаю, как ее обойти.Когда мы вносим изменения в файл конфигурации (что мы можем сделать, только скопировав его в другую папку, изменив его и затем скопировав обратно ... в противном случае мы получаем сообщение «Отказано в доступе», когда мы пытаемся сохранить наши изменения непосредственно впапка Program Files), изменения, которые мы вносим, отражаются, только если мы запускаем приложение от имени администратора.Если мы запускаем приложение как обычный пользователь, настройки по умолчанию всегда отображаются.Мы подозреваем, что это проблема безопасности Windows 7, но кто-то может объяснить, почему это происходит?Как мы можем изменить настройки, чтобы они также применялись, когда приложение запускается как обычный пользователь?