- Набор средств для обеспечения совместимости приложений
- Затронутые платформы
- Описание
- Установка и удаление пользовательских баз данных совместимости в Compatibility Administrator Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator
- Установка настраиваемой базы данных Installing a Custom Database
- Uninstalling a Custom Database Uninstalling a Custom Database
- Application Compatibility Database
- Solutions
- Технический справочник по Application Compatibility Toolkit (ACT) Application Compatibility Toolkit (ACT) Technical Reference
- Утилиты в помощь
Набор средств для обеспечения совместимости приложений
Версии набора средств для обеспечения совместимости приложений, описанные в этой статье, больше не поддерживаются. Последняя поддерживаемая версия включена в комплект средств для развертывания и оценки Windows 10
Затронутые платформы
Клиенты: Windows XP Windows Vista, Windows | | 7
Серверы: Windows Server 2003 Windows | server 2008 Windows server | 2008 R2
Описание
Набор средств для обеспечения совместимости приложений Майкрософт (ACT) — это средство управления жизненным циклом, которое помогает идентифицировать общий портфель приложений и управлять им, уменьшая затраты и время, связанные с устранением проблем совместимости приложений, и помогает быстро развертывать обновления Windows и Windows.
Использование
С помощью действия вы можете:
- Анализ портфеля приложений, веб-сайтов и компьютеров
- Оцените развертывания операционных систем, влияние обновлений операционной системы и совместимость с веб-сайтами.
- Централизованное управление фильтрами совместимости и параметрами конфигурации
- Рационализировать и упорядочение приложений, веб-сайтов и компьютеров
- Определение приоритета действий по совместимости приложений с помощью фильтрованных отчетов
- Добавление проблем и решений для корпоративной вычислительной среды и управление ими
- Развертывание автоматизированных способов устранения проблем с известными проблемами совместимости
- Отправка и получение сведений о совместимости от Microsoft Compatibility Exchange
Установка и удаление пользовательских баз данных совместимости в Compatibility Administrator Installing and Uninstalling Custom Compatibility Databases in Compatibility Administrator
Относится к: Applies to
- Windows 10 Windows10
- Windows8.1 Windows8.1
- Windows8 Windows8
- Windows7 Windows7
- Windows Server2012 Windows Server2012
- Windows Server2008R2 Windows Server2008R2
Средство «Администратор совместимости» позволяет создавать и использовать базы данных настраиваемой совместимости и стандартной совместимости. The Compatibility Administrator tool enables the creation and the use of custom-compatibility and standard-compatibility databases. В пользовательских и стандартных базах данных хранятся известные исправления совместимости, режимы совместимости и сообщения AppHelp. Both the custom databases and the standard databases store the known compatibility fixes, compatibility modes, and AppHelp messages. Они также хранят необходимые сведения о совпадении приложений для установки на локальных компьютерах. They also store the required application-matching information for installation on your local computers.
По умолчанию операционная система Windows® устанавливает базу данных исправлений системных приложений для использования с администратором совместимости. By default, the Windows® operating system installs a System Application Fix database for use with the Compatibility Administrator. Эту базу данных можно обновить с помощью Центра обновления Windows и сохранить в каталоге %WINDIR%\AppPatch. This database can be updated through Windows Update, and is stored in the %WINDIR%\AppPatch directory. Пользовательские базы данных автоматически хранятся в каталоге %WINDIR%\AppPatch\Custom и устанавливаются с помощью средства Sdbinst.exe, предоставленного администратором совместимости. Your custom databases are automatically stored in the %WINDIR%\AppPatch\Custom directory and are installed by using the Sdbinst.exe tool provided with the Compatibility Administrator.
Средство обеспечения совместимости набор средств (ACT) устанавливает 32- и 64-битные версии средства «Администратор совместимости». Application Compatibility Toolkit (ACT) installs a 32-bit and a 64-bit version of the Compatibility Administrator tool. 32-битная версия должна работать с пользовательскими базами данных для 32-битных приложений, а 64-битная — для работы с пользовательскими базами данных для 64-битных приложений. You must use the 32-bit version to work with custom databases for 32-bit applications and the 64-bit version to work with custom databases for 64-bit applications.
Кроме того, необходимо развернуть базы данных на компьютерах организации, прежде чем включенные исправления пойдут на проблему с приложением. In addition, you must deploy your databases to your organization’s computers before the included fixes will have any effect on the application issue. Дополнительные сведения о развертывании базы данных см. в Sdbinst.exe Command-Line. For more information about deploying your database, see Using the Sdbinst.exe Command-Line Tool.
Установка настраиваемой базы данных Installing a Custom Database
Установка базы данных настраиваемой совместимости позволяет устранять проблемы с установленными приложениями. Installing your custom-compatibility database enables you to fix issues with your installed applications.
Установка пользовательской базы данных To install a custom database
В левой области администратора совместимости щелкните пользовательскую базу данных, чтобы установить ее на локальные компьютеры. In the left-side pane of Compatibility Administrator, click the custom database to install to your local computers.
В меню «Файл» нажмите кнопку «Установить». On the File menu, click Install.
Администратор совместимости устанавливает базу данных, которая отображается в списке установленных баз данных. The Compatibility Administrator installs the database, which appears in the Installed Databases list.
Связь между файлом базы данных и включенным приложением возникает в реестре. The relationship between your database file and an included application occurs in the registry. При каждом запуске приложения операционная система проверяет реестр на наличие сведений об исправлении совместимости и при их обнаружении извлекает сведения из настроенного файла базы данных. Every time you start an application, the operating system checks the registry for compatibility-fix information and, if found, retrieves the information from your customized database file.
Uninstalling a Custom Database Uninstalling a Custom Database
Если настраиваемая база данных больше не требуется, либо из-за того, что приложения больше не используются, либо из-за того, что поставщик предоставил исправление, устраняя проблемы совместимости, можно удалить пользовательскую базу данных. When a custom database is no longer necessary, either because the applications are no longer used or because the vendor has provided a fix that resolves the compatibility issues, you can uninstall the custom database.
Чтобы удалить пользовательскую базу данных, с ее сайта можно будет удалить ее. To uninstall a custom database
В списке «Установленные базы данных», который отображается в левой области администратора совместимости, щелкните базу данных, чтобы удалить ее с локальных компьютеров. In the Installed Databases list, which appears in the left-side pane of Compatibility Administrator, click the database to uninstall from your local computers.
В меню «Файл» щелкните «Удалить». On the File menu, click Uninstall.
Application Compatibility Database
The compatibility infrastructure uses a database to identify application compatibility issues and their solutions. This database is an indexed binary file with an .sdb extension. The compatibility infrastructure provides a programming interface to access the database.
Compatibility issues can be addressed on an application-by-application basis at run time. Each application specified in the database contains one or more components that need a solution. Components are executable files that are generally described using their file attributes (for example, checksum).
The process of database lookup and determining the solutions for each application is called matching. The file attributes and the presence of associated files in the folder or subfolder containing the .exe file can be used to create a unique match. The associated files are called matching files.
A TAG is a unique identifier for the entries and attributes in the database. The TAG type indicates the format of the data associated with the TAG. For example, TAG_NAME is of type TAG_TYPE_STRINGREF; the data for TAG_NAME is a name string. A TAGID is a pointer to an entry in a particular database. A TAGREF is a pointer to an entry that can be used across multiple databases.
File attributes are metadata associated with a file on disk. These attributes include the file name, file size, checksum, version, and date. These attributes are used to determine whether a file being loaded by the system matches a database entry. Therefore, these file attributes are also called matching attributes.
Solutions
The most common solutions applied to the components of an application are Apphelp and Appfix.
With Apphelp, a custom localized message notification is displayed, typically when the application is installed or started. It contains brief text that explains the compatibility issue and provides the option to continue running the application. However, some applications will fail dramatically is allowed to run; Apphelp will not give the user the option to continue running these applications.
With Appfix, hooks are installed for APIs called by the components of the application. These hooks point to stub functions that can be called instead of the system functions (also known as shimming). The stub functions perform operations needed to enable the application to run on the installed version of Windows. Each stub function may optionally call the system function after completing its work. A compatibility layer or mode contains one or more shims and flags.
Технический справочник по Application Compatibility Toolkit (ACT) Application Compatibility Toolkit (ACT) Technical Reference
Применимо к: Applies to
- Windows 10 версии 1607 Windows 10, version 1607
Мы заменили большинство функций, включенных в приложение набор средств (ACT) на Windows Analytics, решение в Пакете управления операциями Майкрософт. We’ve replaced the majority of functionality included in the Application Compatibility Toolkit (ACT) with Windows Analytics, a solution in the Microsoft Operations Management Suite. Windows Analytics предоставляет предприятиям средства для планирования и управления процессом обновления до конца, что позволяет им быстрее принимать новые выпуски Windows. Windows Analytics gives enterprises the tools to plan and manage the upgrade process end to end, allowing them to adopt new Windows releases more quickly. Поскольку новые версии Windows выпускаются несколько раз в год, обеспечение совместимости приложений и драйверов на постоянной основе является ключом к принятию новых версий Windows по мере их выпуска. With new Windows versions being released multiple times a year, ensuring application and driver compatibility on an ongoing basis is key to adopting new Windows versions as they are released.
Корпорация Майкрософт разработала Windows Analytics в ответ на запрос корпоративных клиентов, которые ищут дополнительные указания и сведения о обновлении до Windows 10. Microsoft developed Windows Analytics in response to demand from enterprise customers looking for additional direction and details about upgrading to Windows 10. Windows Analytics была построена с учетом нескольких каналов обратной связи с клиентами, тестирования и опыта Microsoft по обновлению миллионов устройств до Windows 10. Windows Analytics was built taking into account multiple channels of customer feedback, testing, and Microsoft’s experience upgrading millions of devices to Windows 10.
С поддержкой диагностических данных Windows Windows Analytics собирает данные систем, приложений и драйверов для анализа. With Windows diagnostic data enabled, Windows Analytics collects system, application, and driver data for analysis. Затем мы определяем проблемы совместимости, которые могут помешать обновлению, и предлагаем известные нам решения. We then identify compatibility issues that can block an upgrade and suggest fixes when they are known to Microsoft.
Используйте Windows Analytics, чтобы получить: Use Windows Analytics to get:
- наглядное руководство по обновлению от пилотного до рабочего проекта; A visual workflow that guides you from pilot to production
- Подробные данные о компьютере и приложениях Detailed computer and application inventory
- эффективные поиск и детализация на уровне компьютера; Powerful computer level search and drill-downs
- информация о проблемах совместимости приложений и драйверов и рекомендуемые решения; Guidance and insights into application and driver compatibility issues, with suggested fixes
- средства рационализации приложений на основе данных; Data driven application rationalization tools
- сведения об использовании приложений для целевой проверки; последовательность действий для отслеживания хода проверки и решения; Application usage information, allowing targeted validation; workflow to track validation progress and decisions
- Экспорт данных для часто используемых средств развертывания программного обеспечения, включая Microsoft Endpoint Configuration Manager Data export to commonly used software deployment tools, including Microsoft Endpoint Configuration Manager
Рабочий процесс Windows Analytics проходит процесс обнаружения и рационализации до тех пор, пока у вас не будет список компьютеров, готовых к обновлению. The Windows Analytics workflow steps you through the discovery and rationalization process until you have a list of computers that are ready to be upgraded.
В то же время у нас сохранился инструмент Стандартный анализатор пользователей, который помогает тестировать приложения и отслеживать вызовы API для потенциальных проблем совместимости, а также администратор совместимости, который помогает устранять потенциальные проблемы совместимости. At the same time, we’ve kept the Standard User Analyzer tool, which helps you test your apps and to monitor API calls for potential compatibility issues, and the Compatibility Administrator, which helps you to resolve potential compatibility issues.
Утилиты в помощь
Используем набор средств Application Compatibility Toolkit
В этой статье, которая является продолжением опубликованной в Windows IT Pro/RE № 4 статьи «Совмещая несовместимое», я попытаюсь ответить на вопрос, какие существуют способы заставить ваши приложения все-таки начать работать на новой операционной системе. Сразу стоит оговориться — это не панацея. Однако большинство современных приложений все же можно запустить в работу с правами Standard User в Windows Vista. И в этом нам поможет пакет утилит Application Compatibility Toolkit.
Общее назначение утилит этого набора:
- предоставить графический интерфейс просмотра стандартной базы данных прослоек;
- предоставить возможность создавать пользовательские базы для собственных приложений;
- предоставить возможность диагностировать случаи несовместимости при работе с различными приложениями;
- добавлять и редактировать сообщения appHelp — специальные оповещающие или запрещающие сообщения, привязанные к конкретному приложению. Обычно эти сообщения можно увидеть в Windows Vista. Они извещают пользователя о том, что конкретное приложение либо несовместимо, либо некорректно работает с Vista;
- собирать информацию о проблемных приложениях в сети, для подготовки к переходу на Windows Vista;
- распространять настройки базы прослоек на другие компьютеры сети.
В настоящее время Application Compatibility Toolkit 5.0 можно скачать на сайте Microsoft по адресу http://www.microsoft.com/downloads/details.aspx?FamilyId=24DA89E9-B581–47B0-B45E-492DD6DA2971&displaylang=en#filelist. Процесс инсталляции приложения стандартный, однако кроме самого ACT необходимо поставить утилиту Application Verifier, которую можно найти по адресу http://www.microsoft.com/downloads/details.aspx?familyid=C4A25AB9–649D-4A1B-B4A7-C9D8B095DF18&displaylang=en.
Теперь обо всем по порядку.
Compatibility Administrator
Первая утилита, о которой я хотел бы рассказать, — Compatibility Administrator. С ее помощью можно просмотреть содержимое системной базы прослоек в системе. Но самое главное, она позволяет создавать свои базы для конкретных приложений. Рассмотрим пример создания новой пользовательской базы, в которую положим конкретное приложение и привяжем к нему пользовательское сообщение appHelp. Сделаем это для знакомого всем блокнота, приложения Notepad.
- Запускаем Compatibility Administrator.
- Выбираем new database в разделе custom database.
- Открываем окно AppHelp, нажимая соответствующую кнопку на панели инструментов.
- Заполняем поля и выбираем приложение, к которому будет привязано сообщение (см. экран 1).
- Это окно показано на экране 2. Здесь можно выбрать список дополнительных метаданных исполнимого файла, при помощи которых загрузчик сможет точно идентифицировать его.
- В следующем окне вам предлагается выбрать вариант использования окна оповещения. Здесь можно просто оповестить пользователя о проблеме или запретить запуск приложения вообще (см. экран
3). - Далее будет предложено указать адрес URL и комментарий. URL может быть полезен, к примеру, в том случае, если в компании есть некое внутреннее приложение и свой внутренний сайт, связанный с ним. Предположим, ваша команда разработчиков занимается модернизацией какой-то части приложения, и поэтому некоторые функции недоступны. Указав здесь URL страницы с описанием проблемы и строками ее исправления, вы очень поможете своим пользователям и оградите и себя, и разработчиков от лишних звонков. Помимо ссылки, можно написать подробный комментарий. Однако помните, краткость — сестра таланта.
Теперь необходимо сохранить эту базу данных, воспользовавшись соответствующей кнопкой на панели инструментов, а затем выбрать пункт Install в раскрывающемся меню. После этого появится соответствующее поддерево установленных баз данных, в котором вы увидите свою базу. Теперь при запуске notepad будет появляться окно с вашим сообщением. В Windows XP это окно имеет вид как на экране 4. Для того чтобы отключить это сообщение, выберите uninstall в меню установленной базы прослоек.
У Compatibility Administrator есть интересный параметр командной строки «/x». Запустив утилиту с данным параметром, в списке исправлений совместимости вы увидите намного больше прослоек, чем без него. Мало того, рядом с некоторыми прослойками будет значок «+», развернув который вы увидите дополнительные параметры этой прослойки. Эти параметры указывают, для каких модулей может применяться данная прослойка, а для каких ее использование будет блокировано. Наиболее яркий пример — это прослойка WinXPSP2 VersionLie. В Windows Vista с ней связан довольно обширный список ограничений, в результате которых эта прослойка не работает с приложениями, написанными на .NET.
Standard User Analyzer
Рассмотрим следующий инструмент, Standard User Analyzer (SUA). Его задача — определить проблемные места приложения и помочь с ними справиться. На самом деле, если быть предельно точным, SUA — это всего лишь оболочка, приложение для разбора журналов другого приложения, Application Verifier, без которого SUA не работает, что, несомненно, логично. Поэтому, прежде чем использовать SUA, вам придется загрузить и установить Application Verifier. Однако этот инструмент не сможет помочь во всем. Его основное предназначение — выявить узкие места приложения. А именно те функции приложения, которые могут не работать в Vista. Или будут возникать затруднения, и придется использовать виртуализацию.
Но, как говорится, лучше один раз увидеть, чем сто раз услышать. Поэтому попробуем посмотреть, что же все-таки происходит внутри приложений и почему они могут не работать в Vista или XP. Для начала воспользуемся специальным приложением demoapp.exe, которое поставляется вместе с комплектом Application Compatibility Toolkit. Это приложение может работать в двух режимах — в режиме установщика и обычном режиме. В режиме установщика оно показывает нам типичные ошибки, возникающие в процессе установки. А в обычном режиме — соответственно в работе приложения. Для того чтобы запустить это приложение в обычном режиме, нужно воспользоваться ключом «-runapp».
- Запускаем инструмент SUA и указываем необходимые параметры. Желательно указать путь к папке с символами для тестируемого приложения, если они есть. Символы — это связующее звено между бинарным исполнимым файлом и кодом. Файлы символов генерируются при компиляции приложения. В моем случае SUA воспользовался глобальной переменной, в которой хранится путь к локальной базе символов и к серверу символов Microsoft, см. экран 5.
- Флажок Elevate указывает, запускать приложение с повышенными правами либо с правами Standard User. В данном случае он неактивен, поскольку приложение стартует на Windows XP. Параметр Disable Virtualization отключает виртуализацию разделов реестра и папок в Vista. Тут он не активен по той же причине.
- В меню Мiew полезно поставить флажок для детального отображения информации.
- Запускаем.
- Закрываем. Видим первую ошибку, как на экране 6.
- Следом возникает ошибка Access Violation.
Ждем некоторое время, пока произойдет разбор журнала Application Verifier. И вот первые результаты. На вкладках появляются значения количества подозрительных действий приложения (см. экран 7). На вкладке реестра видим ошибки. Эти ошибки возникли из-за недостатка разрешений на указанные разделы реестра. Это видно внизу, в полях дополнительных данных. Вернее, SUA показывает, что они могут произойти при запуске приложения с правами Standard User в Vista. Об этой особенности SUA нельзя забывать. Сначала решим проблему с реестром. Для этого воспользуемся Compatibility Administrator и создадим в нем новую базу для приложения demoapp.exe. К этому приложению в базе будем привязывать нужные нам прослойки. Для борьбы с ошибками доступа к реестру такого рода есть специальная прослойка — VirtualRegistry. Эта прослойка предназначена для того, чтобы перенаправить отдельные разделы реестра, к которым по умолчанию нет доступа, в другие разделы, для которых доступ открыт. По существу — действие, аналогичное принудительной виртуализации разделов реестра и путей файловой системы в Vista. Однако, к примеру, в XP такого механизма нет, а в Vista не все разделы виртуализируются. Итак, задействуем VirtualRegistry и указываем в качестве параметра следующую строку: ADDREDIRECT (HKLMSOFTWAREMicrosoft
PCHealthErrorReportingDW^
HKCUSoftwareDemoAppDW. Раздел HKCUSoftwareDemoAppDW создаем вручную и перенаправляем в него все обращения к разделу HKLMSOFTWAREMicrosoft
PCHealthErrorReportingDW, которые мы увидели в SUA. По рекомендациям Microsoft ошибка Access Violation, которая возникает при закрытии приложения для старых версий Windows, вполне вероятно, является следствием того, что приложение пытается выполнить выгрузку для библиотек, которые еще используются. Для борьбы с таким поведением рекомендуется задействовать прослойку IgnoreFreeLibrary, которая игнорирует вызов FreeLibrary для библиотек, указанных модулю в командной строке. В нашем случае этой библиотекой является demodll.dll. При помощи Compatibility Administrator привязываем к нашему приложению нужные исправления и указываем параметры (см. экран 8). Теперь, затаив дыхание, жмем кнопочку Test Run и указываем параметры командной строки для запуска в основном режиме. Приложение работает! Теперь закрываем его, и ошибка не возникает. Это победа! Мы заставили работать неработающее приложение!
Кроме проблем с реестром, SUA определяет возможные проблемы несовместимости по многим направлениям:
- обращения к файловой системе;
- обращения к Ini-файлам;
- при работе с маркерами доступа;
- некорректные привилегии в маркере с точки зрения Vista;
- обращения к глобальным объектам.
Все обнаруженные проблемы также будут отображаться в соответствующих вкладках SUA.
Диагностика прослоек и дополнительные настройки
Если необходима дополнительная диагностика работы прослоек, можно воспользоваться перечисленными ниже возможностями.
- Вы можете активировать вывод отладочных сообщений стандартными средствами Windows, а затем просматривать их при помощи Windows debugger или DebugView. Для этого нужно изменить следующий ключ реестра таким образом « [HKEY_CURRENT_USER SoftwareMicrosoftWindows NT CurrentVersionAppCompatFlags] «ShowDebugInfo»=dword:00000 009».
- Если этого недостаточно, можно создать несколько переменных окружения «reg add «HKLMSYSTEMCurrent ControlSetControlSession ManagerEnvironment»/v SHIM_DEBUG_LEVEL/t REG_SZ/d 9/f reg add «HKLMSYSTEMCurrent ControlSetControlSession ManagerEnvironment»/v SHIM_FILE_LOG/t REG_SZ/d logfile.txt/f». В результате в каталоге %appdata% появится файл logfile.txt, в который будут записываться отладочные сообщения.
Еще один нюанс
Нужно помнить, что существует некоторая разница в терминологии самого движка прослоек и ACT. То, что в движке называется прослойками shim, в ACT зовется compatibility fix. А то, что в механизме называется layers, в ACT называют режимами совместимости compatibility modes. Отличия режимов совместимости от прослоек следующие. Во-первых, режим может выступать в роли контейнера для нескольких прослоек, которые будут применяться к приложению. Во-вторых, существуют особенности применения прослойки и режима. Прослойка применяется только к тому процессу, на исполнимый файл которого вы ее настроили. Однако если этот процесс создает дочерние процессы, то прослойка к ним не применяется. В отличие от прослойки, режим совместимости применяется и к дочерним процессам.
Application Compatibility Manager
Предположим, у вас большая организация, много пользователей, компьютеров и различных приложений. Каким образом можно быстро узнать, что представляют собой эти компьютеры, какие приложения на них установлены? Как можно классифицировать эти приложения? Выделить критичные для бизнеса? Определить, как они работают, какие проблемы возникают? На подобные вопросы поможет найти ответ утилита Application Compatibility Manager (ACM).
Эта программа, как и все предыдущие, входит в состав Application Compatibility Toolkit и предназначена для инвентаризации программного и аппаратного обеспечения компьютеров. А также предоставляет возможность классифицировать приложения и отслеживать возникающие проблемы. Единственным отрицательным и, на мой взгляд, довольно странным решением со стороны Microsoft стало решение создать онлайн-базу проблем для различных приложений, доступную сообществу. Все бы хорошо, однако доступна эта база вам только в том случае, если вы решите отдать информацию обо ВСЕХ своих приложениях в Microsoft. Вы можете указать, информацию о каких приложениях сделать доступной широкому кругу людей, однако клиент передает весь список приложений, которые у вас используются (см. экран 9).
В состав Application Compatibility Manager входит пять агентов.
Inventory Collector: этот агент, как следует из его названия, предназначен для сбора информации об аппаратном и программном обеспечении компьютера.
Internet Explorer Compatibility Evaluator (IECE): определяет проблемы в работе с сайтами или Web-приложениями. Полезен, к примеру, если в вашей сети есть свой сайт и вам необходимо знать, как он будет работать в Vista и IE 7. Собственно говоря, этот компонент полнофункционально работает только с IE 7, поскольку последний предоставляет расширенные функции журналирования.
User Account Control Compatibility Evaluator (UACCE): определяет проблемы совместимости приложений, которые могут возникнуть при работе с ограниченной административной учетной записью Vista или при работе в качестве обычного пользователя. Во время работы компонент наблюдает за взаимодействием операционной системы и приложения, чтобы выявить эти проблемы.
Update Compatibility Evaluator (UCE): используется для сбора информации о воздействии новых обновлений на компьютеры пользователей. То есть, прежде чем распространять обновления на все системы, стоит применить их на определенный набор компьютеров с установленным UCE, чтобы убедиться в том, что не возникнет каких-либо проблем.
Windows Vista Compatibility Evaluator (WVCE): нужен для того, чтобы выявить приложения, которые используют несовместимые или устаревшие для Vista механизмы, такие как применение нулевых сессий для служб или устаревшие методы работы с рабочим столом, использование GINA.
Кроме того, в общей инфраструктуре применяются такие компоненты:
- ACT Log Processing Service: служба обработки собранных данных и загрузки их в базу данных;
- ACT Log Processing Share: общая папка, в которую клиенты загружают собранные данные;
- ACT Database: база данных MS SQL Server, в которую в конечном итоге попадают данные инвентаризации;
- Microsoft Compatibility Exchange: Web-служба, при помощи которой вы можете отправить свои данные и загрузить себе информацию о проблемах в работе приложений и обновлений.
Необходимо особенно внимательно отнестись к работе с Update Compatibility Evaluator (UCE). Специалисты Microsoft рекомендуют проявлять осторожность, поскольку объем данных, генерируемый этим компонентом, в шесть-семь раз больший, чем объем данных, генерируемый другими компонентами. Рекомендуется не распространять UCE на компьютеры с менее чем 1 Гбайт свободного места на диске и менее чем 256 Мбайт оперативной памяти. Также общая папка должна быть всегда доступна и в ней должно быть достаточно дискового пространства, из расчета 60 Мбайт на компьютер в день.
Рассмотрим, как же все-таки собирать эту информацию. Общая структура работы с этим приложением представлена на экране 10.
По идеологии Microsoft процесс состоит из нескольких этапов:
- сбор данных;
- анализ данных;
- тестирование и применение изменений.
В сборе данных участвуют несколько агентов, которые устанавливаются на системы клиентов и собственно собирают данные. Эти агенты создаются при помощи Application Compatibility Manager, как msi-файлы, которые затем можно с помощью сценария или групповой политики распространить на клиентские системы.
Создание агента выглядит следующим образом.
- Запускаем Application Compatibility Manager.
- На вкладке Collect нажимаем кнопку Create new data collection package на панели инструментов.
- В появившемся окне указываем имя пакета, настройки начала его работы, а также место, где будет расположена общедоступная папка, в которую пакет будет писать инвентаризационную информацию.
- Главным элементом здесь является кнопка Advanced. Нажав ее, вы попадете в окно, в котором вам предстоит выбрать те агенты, которые будут входить в этот пакет. Агенты более подробно я опишу дальше, здесь скажу только, что агент Inventory Collector включен по умолчанию и входит во все пакеты, которые вы будете создавать. Тут же необходимо выбрать типы пакетов. В зависимости от типа вам будет предложен набор агентов, которые можно включить в пакет. Агента UCE можно включить только в пакет для проверки применения обновлений Windows.
- Система предложит сохранить пакет на жесткий диск.
На самом деле нет необходимости устанавливать агенты на всех компьютерах. Если вы, конечно, не хотите произвести полную инвентаризацию. Можно выбрать определенный набор систем, которые выполняют наиболее полный набор задач, и установить агенты на них. Запущенные агенты по расписанию, которое задается при их создании, собирают информацию и складывают ее в сетевую папку, данные о которой также добавляются в пакет на этапе его создания. Все это, несомненно, очень упрощает автоматическое развертывание агентов. Примечательно, что время жизни агентов ограничено. Оно задается при создании агента и составляет несколько дней. Журналы генерируются агентами с периодичностью в несколько часов, в зависимости от настроек при создании пакета. После окончания срока жизни агенты самостоятельно удаляются. После этого специализированная служба разбирает эти файлы и складывает данные в SQL Server, в специализированную базу данных. Эта база данных может располагаться как на SQL Server, так и на SQL Express (общая информация о поддерживаемых агентами платформах представлена на экране 11). Создать ее можно из меню ACM Tools, Settings. Там же настраивается служба обработки журналов, тип ее запуска и учетная запись, с правами которой будет работать служба. Заметим, что эта учетная запись должна иметь доступ как к общей папке с отчетами агентов, так и к базе, в которую эта служба будет вставлять обработанные данные. Таким образом, эта учетная запись не должна быть записью Local System. Результаты инвентаризации отображаются в ACM на вкладке Analyze.
На следующем этапе происходит анализ собранных данных. Основываясь на обработанных данных, загруженных туда модулем обработки, вы можете строить различного рода отчеты по фильтрам, которые можно накладывать на полученные данные. Для этого используется кнопка Toggle filter. После наложения фильтра его можно сохранить как файл и использовать как отчет в будущем. К примеру, можно выбрать все устройства типа «принтер», что даст вам список принтеров, локально установленных на компьютерах пользователей. Кроме того, для различных приложений можно выставлять разные признаки, например критичность для бизнеса, или систематизировать их по динамическому набору категорий, который вы также можете создавать самостоятельно. Для каждого приложения можно создавать записи о неполадках или об отсутствии проблем. В дальнейшем вся эта информация, если вы все-таки решите ею поделиться, будет отправлена в Microsoft. Взамен Microsoft пришлет аналогичную информацию, собранную другими людьми, использующими те же приложения, что и вы.
На последнем этапе, когда все данные собраны, мы можем узнать, с какими приложениями возникают проблемы. Синхронизировав наши данные с сервером Microsoft, мы, возможно, получим ответ вопрос, что же нам делать с этими приложениями и как справиться с несовместимостью. Это, конечно, только в том случае, если кто-то уже сталкивался с подобными проблемами, успешно с ними справился и поделился опытом через ACM. Если же нет — у нас есть SUA, с помощью которого мы и будем пытаться справиться с ними самостоятельно. Простой пример я привел в разделе, где описывал SUA. Задача на данном этапе — окончательно решить все наши проблемы. Затем настает долгожданный момент — мы наконец можем справиться со всеми проблемами на всех компьютерах сети. И для этого у нас уже все есть — созданная при помощи SUA и Compatibility Administrator база настроек. Эту базу можно сохранить в файл, а затем скопировать на все компьютеры сети. Дело за малым, установить ее там. Для этого используется утилита командной строки sdbinst:
параметры которой представлены в таблице.
Поборов все проблемы
В целом можно отметить, что созданием механизма прослоек разработчики Microsoft значительно облегчили переход на новые версии операционных систем. Наличие такого мощного инструмента позволяет в довольно широких пределах менять поведение системы, глубоко не затрагивая работающие приложения, многие из которых могут оказаться критичными для бизнеса. Нельзя, конечно, полагаться во всем на эти возможности, поскольку по своей сути они являются временным решением для обеспечения совместимости. С другой стороны, Microsoft добавила себе работы по выпуску прослоек, поскольку не предоставляет документации по написанию собственных. В итоге вполне возможны проблемы с отдельными приложениями, для которых не подойдут стандартные прослойки.