Проблемы при регистрации на сайте? НАЖМИТЕ СЮДА!                               Не проходите мимо весьма интересного раздела нашего сайта - проекты посетителей. Там вы всегда найдете свежие новости, анекдоты, прогноз погоды (в ADSL-газете), телепрограмму эфирных и ADSL-TV каналов, самые свежие и интересные новости из мира высоких технологий, самые оригинальные и удивительные картинки из интернета, большой архив журналов за последние годы, аппетитные рецепты в картинках, информативные Интересности из Интернета. Раздел обновляется ежедневно.                               Всегда свежие версии самых лучших бесплатных программ для повседневного использования в разделе Необходимые программы. Там практически все, что требуется для повседневной работы. Начните постепенно отказываться от пиратских версий в пользу более удобных и функциональных бесплатных аналогов.                               Если Вы все еще не пользуетесь нашим чатом, весьма советуем с ним познакомиться. Там Вы найдете много новых друзей. Кроме того, это наиболее быстрый и действенный способ связаться с администраторами проекта.                               Продолжает работать раздел Обновления антивирусов - всегда актуальные бесплатные обновления для Dr Web и NOD.                               Не успели что-то прочитать? Полное содержание бегущей строки можно найти по этой ссылке.                              

Windows Vista / Windows 7 – вопросы совместимости приложений

Средства для ИТ-специалистов

В первой части обзора «Windows Vista / Windows 7 – вопросы совместимости приложений» мы остановились на том, что создали набор «заплаток», позволяющих решить проблемы совместимости. С точки зрения пользователей, мы просто указали какие-то опции, обеспечившие работоспособность приложения. На самом деле, мы задействовали инфраструктуру обеспечения совместимости приложений – Application Compatibility Infrastructure, которая, как мы знаем из предыдущей части, является частью современных операционных систем семейства Windows.

Результат наших манипуляций с опциями на вкладке «Совместимость» был сохранен в реестре – в ветви HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. В соответствующей записи в этой ветви реестра будут указаны примененные к приложению системные «заплатки».

Реестр и заплатки, примененные к приложению
Реестр и «заплатки», примененные к приложению

Такой подход хорошо работает для исправления приложений, расположенных на одном компьютере (и более того, будет работать для всех версий приложения – пока не изменится название его загрузочного файла), но когда приложение используется в целой организации, выполнение манипуляций с вкладкой «Совместимость» на каждом компьютере слишком затратно и может привести к внесению ошибок. Также не рекомендуется, без лишней надобности, пользоваться утилитой regedit для внесения исправлений в реестр. Для того, чтобы сделать набор «заплаток» отторгаемым от конкретного компьютера следует использовать утилиту Compatibility Administrator, которая входит в состав Microsoft Application Compatibility Toolkit – этот набор утилит для ИТ-специалистов можно бесплатно загрузить с сайта Microsoft по адресу http://www.microsoft.com/downloads/details.aspx?familyid=24da89e9-b581-47b0-b45e-492dd6da2971. С помощью этого набора утилит, а точнее, с помощью входящей в его состав утилиты Compatibility Administrator, мы можем повторить все действия, которые мы выполняли на уровне вкладки «Совместимость», но сохранить результаты не в реестре, а в специальном файле, который называется System Database (.sdb).

Запустим утилиту Compatibility Administrator под учетной записью «администратор» - в древовидном списке в левой части экрана в разделе Per User Compatibility Settings мы увидим настройки, внесенные нами через вкладку «Совместимость».

Заплатки, примененные к приложению
«Заплатки», примененные к приложению

Давайте используем возможности утилиты Compatibility Administrator для того, чтобы создать набор «заплаток», который будет привязан не только к конкретному пользователю, но и который можно будет распростарить на все компьютеры в организации. В разделе Custom Databases выберем элемент New Database(1) [Untitled_1], нажмем на нем правую кнопку мыши и выберем команду Create New | Application Fix. В диалоговой панели Create new Application Fix укажем название приложения, имя производителя и местоположение исполняемого файла приложения.

Создание набора заплаток - шаг 1
Создание набора «заплаток» - шаг 1

Нажмем кнопку Далее и в диалоговой панели Compatibility Modes выберем опцию Microsoft Windows XP (SP2).

Создание набора заплаток - шаг 2
Создание набора «заплаток» - шаг 2

Еще раз нажмем кнопку Далее и в панели Compatibility Fixes включим «заплатку» Disable Themes.

Создание набора заплаток - шаг 3
Создание набора «заплаток» - шаг 3

После нажатия кнопки Далее в панели Matching Information убедимся в том, что наши «заплатки» относятся только к конкретной версии приложения.

Создание набора заплаток - шаг 4
Создание набора «заплаток» - шаг 4

Нажмем кнопку Готово и убедимся в том, что набор «заплаток» для выбранного нами приложения успешно создан.

Набор заплаток для выбранного приложения
Набор «заплаток» для выбранного приложения

Воспользуемся кнопкой Save в панели инструментов для сохранения нашего набора «заплаток» в файле – в нашем примере мы назовем этот набор AdobeFix и сохраним его в каталоге C:\SDBShare\ с именем ReaderFix.sdb.

Нажатие правой кнопки в разделе Custom Databases | AdobeFix и выбор команды Install приведет к развертыванию нашего набора «заплаток» на данном компьютере.

Если же мы хотим развернуть созданный нами набор «заплаток» на других компьютерах, следует воспользоваться утилитой %windir%\system32\sdbinst.exe. Синтаксис для нашего примера будет выглядеть так:

C:\>sdbinst c:\SDBShare\ReaderFix.sdb

При необходимости такая команда может быть включена в состав логон-скриптов, групповых политик, в состав SMS-пакета или выполнена как часть пакета установки приложения.

Для включения набора «заплаток» в пакет установки приложения можно использовать следующий скритп, который затем разворачивается либо средствами SCCM, либо Active Directory Group Policies:

msidbCustomActionTypeVBScript + msidbCustomActionTypeInScript +
msidbCustomActionTypeNoImpersonate = 0x0C06

Для развертывания .SDB-файла средствами Visual Basic Script можно использовать следующий код:

Function Install
 Dim WshShell
 Set WshShell = CreateObject("WScript.Shell")
 WshShell.Run "sdbinst.exe -q " & CHR(34) &
 "c:\sdbshare\stockviewerfixes.sdb" & CHR(34), 0, true
 WshShell.Run "cmd.exe /c " & CHR(34) & "del " & CHR(34) &
 c:\sdbshare\stockviewerfixes.sdb " & CHR(34) & CHR(34), 0
 WshShell.Run "reg.exe delete
 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
 {SDB_GUID}.sdb /f", 0
End Function

Function UnInstall
 Dim WshShell
 Set WshShell = CreateObject("WScript.Shell")
 WshShell.Run "sdbinst.exe -q -u -g {SDB_GUID}", 0
End Function

Значение SDB_GUID можно получить нажав правую кнопку мыши на соответствующем наборе заплаток в Compatibility Assistant и выбрав команду Properties.

Отметим, что для того, чтобы запретить загрузку и обновление версий продукта, тем самым обеспечив работоспособность текущей версии с примененными «заплатками» можно использовать утилиту AppLocker, появившуюся в Windows 7 или соответствующие настройки политик в Windows Vista.

Утилита Compatibility Administrator позволяет посмотреть, какие приложения установлены на компьютеры и требуют «заплаток» для запуска – для этого используется команда Search | Fixed programs. В диалоговой панели Search for Fixes можно указать, где искать (по умолчанию - C:\Program Files\*.exe), какие типы исправлений показывать – Entries with Compatibility Fixes (приложения с «заплатками»), Entries with Compatibility Modes (приложения, к которым применены т.н. уровни совместимости) и Entries with AppHelp (приложения, имеющие специальные записи для утилиты AppHelp). По завершении поиска мы получим список приложений с указанием программного компонента, типа исправления и местоположения исправления – в глобальной или локальной базе данных. Двойной щелчок мышью по элементу списка позволяет получить детальную информацию о примененных к приложению исправлениях.

Панель Search for Fixes и результаты поиска
Панель «Search for Fixes» и результаты поиска

Изучение базы данных, содержащей «заплатки» для различных приложений, позволяет создать список наиболее «популярных» заплаток. На первом месте – заплатки, связанные с версией операционной системы и т.н. уровни совместимости, которые позволяют эмулировать поведение определенной версии операционной системы. Также среди наиболее часто применяемых заплаток встречаются заплатки, связанные с работой с реестром и файловой системой. Далее следуют более специфичные заплатки, воспроизводящие те или иные функции, реализованные в предыдущих версиях операционной системы.

Другие возможности Microsoft Application Compatibility Toolkit

Утилита Compatibility Administrator играет важную роль для создания наборов заплаток для определенных приложений, но помимо нее в состав Microsoft Application Compatibility Toolkit входит ряд других полезных приложений. Среди них:

  • Application Compatibility Manager – средство, позволяющее собирать данные о приложениях, установленных в компании и исправлять их работу перед развертыванием новой версии операционной системы. Для работы ACM требуется наличие на компьютере установленной версии SQL Server 2005 или 2008
  • Standard User Analyzer – позволяет протестировать приложения на совместимость с технологией User Account Control (UAC), появившейся в Windows Vista и поддерживаемой в Windows 7. Данная утилита предоставляет информацию о потенциальных проблемах с использованием файловой системы, реестра, программных интерфейсов, INI-файлов, привилегий, пространств имен, процессов и т.п. при работе приложения под учетной записью «стандартный пользователь»
  • Setup Analysis Tool – данная утилита позволяет определить потенциальные проблемы при установке и конфигурации приложений. Некоторые типы компонентов, такие как драйвера и динамические библиотеки Graphical Identification and Authentication (GINA) устанавливаются в каталоги, отличные от каталогов, в которые устанавливаются сами приложения. Таким образом, если такие компоненты не совместимы с текущей версией операционной системы, сложно определить причину неработоспособности приложения – в этих случаях мониторинг процесса установки позволяет обнаружить потенциальные несовместимости
  • Internet Explorer Compatibility Test Tool – собирает информацию в потенциальных проблемах с выполнением страниц в Internet Explorer и загружает собранные данные в ACT Log Processing Services для обработки найденных проблем и определения оптимальных путей их решения.

В этом обзоре мы рассмотрели, как, используя утилиту Compatibility Administrator, создать набор «заплаток» для приложения и, при необходимости, использовать его для исправления работы приложений на всех компьютерах в организации. В следующей части мы приведем основные рекомендации по созданию совместимых приложений для разработчиков.

Продолжение следует...



Алексей Федоров (руководитель парнерской группы Департамента стратегических технологий российского представительства компании Microsoft)
.:: Статистика ::.
Пользователи
HTTP: 5
IRC: 5
Jabber: 0
( состояние на 01:20 )
ADSL-газета: Ежедневно свежие анекдоты, гороскоп, погода, новости, ТВ-программа, курс валют

Интересности из Интернета: Интересные статьи на разнообразные темы, найденные на просторах интернета

Компьютерная консультация

Единый личный кабинет