Серия веб-трасляций о методах повышения совместимости Windows Vista и унаследованых приложений
Вот мигрировали на Vista и теперь моя любимая программа X, которая служила мне верой и правдой долгие годы, перестала работать! Почему ваша Vista ее поломала? И можно ли это починить? Кому она вообще нужна ваша Vista?
Подобные вопросы слышу очень часто во время общения с коллегами, а уж на форумах в сети встречаю и того чаще. Давайте разберемся, что же за "безобразие" происходит?
Справедливости ради стоит отметить, что подобные стенания и крики в стиле "Все пропало шеф!", раздаются с завидной регулярностью, после выхода каждой новой ОС от Microsoft. Вспомните какова была реакция людей на появление Windows XP. Как ее только не ругали и не поносили за требовательность к ресурсам и никому не нужные красивости интерфейса.
Происходит подобное по одной простой причине. Многие годы сообщество ругало Microsoft за то, что ее продукты недостаточно безопасны и надежны. Дескать вирусов много, трояны замучали, и вообще раз в несколько месяцев приходится систему переставлять чтобы работала, а то замусоривается приложениями и начинает вести себя нестабильно .
Microsoft уже давно прислушивается к претензиям пользователей и внедреят в свои ОС новые механизмы защиты и повышения надежности. В первую очередь эти механизмы защищают ОС от потенциально опасных действий приложений и самого пользователя. Процес этот идет поступательно от версии к версии, в каждой новой ОС появляется что-то новое. Разработчики системы постепенно "закручивают гайки". К примеру появился User Account Control главная залуга которого состоит в принуждении пользователей повседневно работать с понижеными привилегиями. Еще одним интересным компонентом можно назвать Kernel Transaction Manager позволяющий с помощью Transaction File System и Transaction Registry автоматически проводить транзакционные обновления или изменения системных файлов и реестра и откатывать объекты в первоначальное состояние, в случае если в процессе обновления произошла какая либо ошибка. На смену Windows File Protection защищавщему жизнено необходимые файлы ОС, пришел Windows Resource Protection, умеющий вдобавок к файлам защитать и реестр.
Все это привело к тому, что те трюки и недокументированные функции, которыми раньше пользовались разработчики приложений, отныне перестали работать. К примеру, теперь пользователи не должны постоянно работать с правами администратора и у каждого из них своя собственная виртуальная копия реестра, а приложения размещающие свои файлы в C:\Windows или корневом каталоге С:\, и сохраняющие настройки пользователя в C:\Program Files вообще стали считаться дурным тоном.
Казалось бы должна наступить тишь да благодать и вселенское счастье, радуйся и только. Но не тут-то было, сторонние разработчики, пишущие ПО для Windows, не спешат переписывать свои приложения под Vista и учиться делать все более безопасно чем раньше. Понятно, что делают они это не по злой воле, отлаживать унаследованый код, который разрастался годами, задача не из легких. Также стоит отметить, что многие унаследованые приложения, которые есть практически у каждого из нас в том или ином объеме, чаще всего не поставляюся с исходными текстами и достаточно часто уже не поддерживаются авторами. Конечно, через некоторое время ситуация исправится и большинство приложений будут адаптированы к новым свойствам ОС. Но проблема в том, что у нас нет этого времени, пользователи хотят, чтобы привычные приложения работали здесь и сейчас. Для того чтобы миграция приложений на Windows Vista проходила более гладко и беспроблемно предлагаю ознакомиться со следующими веб-трансляциями:
Application Compatibility Toolkit
Mitigating Application Issues Using Shims
LUA Buglight
Application Compatibility in 90 Days
Making Windows Vista Application Compatibility Testing More Predictable with Effective Project Management
Думаю, что это поможет перенести приложения которые вам дороги как память, под Vista и зажить с ней припеваючи. :)
Comments
- Anonymous
January 01, 2003
Находится по ссылкам: http://blogs.technet.com/abeshkov/archive/2008/05/26/3061360.aspx http://blogs.technet.com/abeshkov/archive/2008/06/02/3064973.aspx