Программы DOS - самые старые, и, поскольку в Windows XP отсутствует режим DOS Compatibility Mode, могут возникнуть опасения, что XP совершенно не пригодна для программ DOS. Но в действительности выполнение программ DOS даже упрощается. Щелкните правой клавишей мыши на программе DOS и выберите пункт Properties (Свойства) из всплывающего меню. Большинство закладок диалогового окна Properties нам знакомы, но появилась и новая закладка Compatibility (Совместимость). Она позволяет настроить программу для выполнения в режиме с 256 цветами и разрешением 640x480. Кроме того, можно отменить графическое оформление, по умолчанию налагаемое на программы операционной системой.
Существует и не такой явный, но более мощный инструмент. Среду для программ DOS, как вы помните, можно было настроить путем изменения файлов Config.sys и Autoexec.bat.
Иногда пользователи перезапускали систему в специальной конфигурации, рассчитанной на какую-нибудь одну программу, а затем возвращались к обычному режиму, чтобы выполнять остальные программы. В Windows XP можно сформировать индивидуальные файлы Config.sys и Autoexec.bat для каждой программы DOS.
Вот как это сделать. Во-первых, следует скопировать файлы C:\Windows\ System32\ Config.nt и C:\Windows\System32\Autoexec.nt в каталог своей DOS-программы, а затем отредактировать их, чтобы получить необходимую конфигурацию системы. Сохраните файлы, присвоив им новые имена. В диалоговом окне Properties программы DOS перейдите к закладке Program и щелкните на кнопке Advanced (Дополнительно). Введите присвоенные вами имена файлов Config и Autoexec, и программы будут выполняться в собственной специализированной среде. В этом диалоговом окне можно попытаться замедлить выполнение программ DOS, операции которых напрямую связаны с тактовой частотой процессора. Программы, успешно функционирующие на 50 МГц машине, далеко не всегда работают без эмуляции на 850 МГц ПК. Существуют три основные причины несовместимости старых программ Windows с XP - вот они. Программы запрашивают номер версии Windows; они направляют запросы в Windows API старой версии и ожидают в ответ результаты; местоположение или формат пользовательских папок не совпадают с ожидаемыми. Эти проблемы можно устранить, настроив программу Windows для работы в режиме совместимости.
Для этого нужно щелкнуть правой клавишей мыши на программе Windows и выбрать из меню пункт Properties. Если щелкнуть на закладке Compatibility, то на экране появится список, из которого можно выбрать ОС, наиболее пригодную для данной программы. Щелкнув на флажке Compatibility mode, следует выбрать операционную систему. В этом режиме активизируется набор "прокладок" (shims), обеспечивающих выполнение программы в условиях, имитирующих прежние версии Windows.
Что делать, если неизвестно, какую операционную среду выбрать, или при выполнении программы возникают другие проблемы совместимости? На компакт-диске Windows XP имеется превосходный пакет, с помощью которого можно выполнить точную настройку прикладной среды.
Прикладной инструментальный набор
В каталоге \Supprot\Tools компакт-диска Windows XP находится пакет Application Compatibility Toolkit (ACT). В апреле 2002 г. была выпущена обновленная версия (Version 2.5), и ее можно загрузить с Web-узла по адресу www.microsoft.com/ windows/appexperience. В состав ACT входят четыре инструмента обеспечения совместимости прикладных программ.
Два инструмента, Application Verifier и PageHeap, предназначены для программистов и применяются вместе с отладчиком для тестирования программных фрагментов, возможно несущих в себе проблемы совместимости с Windows XP. Два других, QFixApp и Compatibility Administrator, предназначены для настройки среды запуска старых программ и будут полезны конечным пользователям. С помощью QFixApp можно применить ряд низкоуровневых настроек к конкретной прикладной программе.
Откройте QFixApp и выберите прикладную программу. Щелкнув на закладке Layers (уровни), выберите уровень. Уровни QFixApp соответствуют режимам совместимости, представленным в диалоговом окне Properties прикладной программы. Выбрав уровень, например Win95, перейдите к закладке Fixes.
В режиме совместимости Win95, как вы увидите, можно воспользоваться набором из 53 готовых "прокладок" (рис. 1).
Это число может быть и другим, изменяться в зависимости от того, были ли инсталлированы последние обновления и "прокладки". Из этого окна можно изменить список, добавив или удалив "прокладки". Например, если отмены экранного режима, назначенного прикладной программой, не происходит и после ее завершения, следует прокрутить окно, чтобы найти и попробовать "прокладку" ForceTemporaryMode Change для принудительной отмены временного режима. Описание функций выбранной "прокладки" приводится в нижней панели. Чтобы оценить ее влияние на прикладную программу, нужно щелкнуть на кнопке Run. После того как QFixApp будет закрыта, изменения среды сохраняются вместе с исполнимым файлом. До выхода из QFixApp пользователь может по своему усмотрению назначать и отменять "прокладки".
Просмотр готовых "прокладок"
Совсем не обязательно отыскивать "прокладки" методом проб и ошибок. Полезную информацию можно почерпнуть, просматривая список готовых "прокладок" фирмы Microsoft. Откройте инструмент Compatibility Administrator и разверните раздел System Database | Applications. Настройку прикладной программы удобно начать с поиска в базе данных похожей программы. Например, если речь идет о программе из серии 102 Dalmatians, можно выбрать одну из программ этого семейства, для которой фирма Microsoft уже выпустила "прокладки". Обратившись к QFixApp, можно выяснить, что в режиме совместимости Win95 уже есть "прокладки" EmulateHeap и EmulateMissingEXE, но нет IgnoreAltTab. Попробуйте установить эту "заплату" в QFixApp и запустите программу.
Следует отметить, что в Windows XP есть готовые "прокладки" как для самих приложений, так и для их модулей инсталляции. "Прокладки", связанные с одной прикладной программой, можно сгруппировать в единый пакет.
Compatibility Administrator еще более полезен для ИТ-персонала, который занимается обслуживанием унаследованных продуктов. После того как найдены необходимые "прокладки", следует щелкнуть на кнопке New. В результате в разделе Custom Databases формируется новая база данных. Выбрав последнюю, щелкните на кнопке Fix, чтобы запустить "мастера", который проведет вас по этапам подготовки прикладного пакета исправлений для внесения в данную БД. Следуя подсказкам, нужно выбрать режим совместимости и установить дополнительные "прокладки", обнаруженные в ходе тестирования с помощью QFixApp. И наконец, следует сгруппировать файлы, соответствующие данной прикладной программе. Поиск файлов можно поручить Windows XP, щелкнув на кнопке AutoGenerate. С помощью функции File | Save сохраните подготовленную вами базу данных в файле SDB, который можно переслать на другие компьютеры. При наличии нескольких унаследованных программ, для которых нужны похожие наборы "прокладок", в вашей специализированной базе данных можно сформировать новый режим совместимости.
Выделив эту БД, щелкните на кнопке Mode. Вы можете назвать режим Legacy и выбрать набор "прокладок", применяемых при переходе в этот режим. После сохранения и инсталляции этой БД весь набор "прокладок" можно применить к новой программе, просто активизировав режим совместимости Legacy. Чтобы перенести этот режим на другую машину, достаточно скопировать файл SDB на другой компьютер и инсталлировать его, запустив программу Sdbinst. exe.