Виртуализация реестра и системных директорий или как UAP решает проблему совместимости
Итак с добавлением UAP в Windows Vista большинство приложений будут "вынуждены" работать в контексте не администратора. Но ни для кого не секрет, что многие существующие приложения (и что самое главное многие компьютерные игрушки :)) могут работать только в контексте администратора, поскольку они записывают файлы в Windows или Program Files директории или просто в корневую директорию на диске. Либо же они модифицируют данные в системном реестре (например, хранят таблицу рекордов в системном реестре).
Конечно, можно винить разработчиков приложений за то что они проявили неаккуратность, ведь можно было бы создавать эти файлы в пользовательской директории. Но реальность такова, что таких приложений очень много и вряд ли бы кто стал пользоваться Windows Vista, если бы все эти приложения там не работали.
Решение этой проблемы, которое используется в Windows Vista, - это виртуализация системных директорий и системных реестров. Когда пользователь создает, например, файл в директории Windows, то это не приводит к созданию файла в настоящей директории Windows. Вместо этого файл создается в пользовательской копии директории Windows (в которой хранятся отличия от оригинальной директории Windows). То же самое происходит и с системным реестром.
Одним из следствий этого является то, что если игрушка хранила общую таблицу рекордов в системном реестре или в файле в системной директории, и все пользователи видели результаты друг друга, то в Windows Vista каждый пользователь будет видет только самого себя в таблице рекордов, поскольку игрушка будет модифицировать пользовательскую копию файла или реестра.