Стратегии управления базами данных исправлений совместимости и их развертывание

После того как вы решили, что будете использовать исправления совместимости в стратегии защиты совместимости приложения, вам нужно определить стратегию управления настраиваемой базой данных исправлений совместимости. Как правило, следует использовать один из следующих двух подходов.

  • Развертывание исправлений совместимости в составе пакета установки приложения.

  • Развертывание исправлений совместимости через централизованную базу данных исправлений совместимости.

Независимо от того, какой подход вы решили использовать в организации, корпорация Майкрософт предоставляет следующие общие рекомендации для более эффективного управления настраиваемыми базами данных исправлений совместимости.

  • Определите стандарты применения исправлений совместимости.

    Вам нужно определить стандарты и сценарии использования исправлений совместимости, учитывая конкретные технологические и бизнес-потребности.

  • Определите стандарты настраиваемых баз данных исправлений совместимости.

    Вам нужно определить, как привязывать исправления совместимости к конкретным приложениям. Например, вы, возможно, захотите встроить в исправления совместимости обязательную проверку версий, чтобы исправление не применялось к более новым версиям приложений.

  • Определите ресурсы, которые будут отвечать за решение вопросов и следование стандартам.

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

Стратегии развертывания исправлений совместимости

Мы рекомендуем использовать одну из двух стратегий развертывания исправлений совместимости в организации. А именно:

  • Развертывание исправлений совместимости в составе пакета установки приложения.

  • Развертывание исправлений совместимости через централизованную базу данных исправлений совместимости.

Вам нужно определить, какой метод лучше всего соответствует потребностям вашей организации в развертывании.

Развертывание исправлений совместимости в составе пакета установки приложения

Одна из стратегий развертывания исправлений совместимости – создание настраиваемой базы данных исправлений совместимости, которая будет содержать одну запись, применяемую прямо к пакету установки приложения. Несмотря на то что это самый простой метод развертывания, на практике он может оказаться очень сложным, особенно если необходимо исправлять большое количество приложений.

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

  • Сколько приложений нуждаются в исправлениях совместимости?

    Настраиваемые базы данных исправлений совместимости – это настоящие базы данных. Поэтому если вам нужно исправить 1000 приложений, для открытия и опроса 1000 баз данных, состоящих из одной строки, потребуется больше времени, чем для одной базы данных из 1000 строк.

  • Можно ли отследить, какие приложения были установлены на определенном компьютере?

    Исходный набор исправлений совместимости может оказаться недостаточным, и вам понадобится развернуть обновленную версию базы данных исправлений совместимости для устранения дополнительных проблем. Если вы развернули исходный набор с помощью пакета установки приложения, вам будет нужно найти все клиентские компьютеры, на которых работает это приложение, и заменить исправление совместимости на каждом из них.

Развертывание исправлений из централизованной базы данных исправлений совместимости

Другая рекомендованная стратегия развертывания исправлений совместимости в организации – это создание одной настраиваемой базы данных исправлений совместимости и управление ею. Таким же образом можно использовать несколько настраиваемых баз данных для крупных подразделений вашей организации. Эта стратегия упростит реализацию политики компании и позволит согласованно обновлять исправления, которые вы обнаружите позднее.

На практике этот подход лучше всего подходит тем организациям, в которых разработана надежная инфраструктура развертывания с централизованным управлением процессами. Прежде чем внедрять этот подход, мы рекомендуем вам учесть следующие факторы.

  • Есть ли в организации программные средства, необходимые для развертывания и обновления базы данных исправлений совместимости на всех затронутых компьютерах?

    Если вы планируете управлять централизованной базой данных исправлений совместимости, вам нужно убедиться, что в организации имеются необходимые средства для развертывания и обновления всех задействованных компьютеров в организации.

  • Есть ли централизованные ресурсы, которые могут управлять централизованной базой данных исправлений совместимости и обновлять ее?

    Вам следует определить владельцев процесса развертывания, приложений и обновлений базы данных, а также обозначить процесс развертывания решений проблем совместимости на отдельных компьютерах.

Объединение централизованных баз данных исправлений совместимости

Если вы решили использовать стратегию развертывания централизованной базы данных исправлений совместимости, вы можете объединить любые свои базы данных исправлений совместимости. Это позволит создать единую настраиваемую базу данных исправлений совместимости, которую можно использовать, чтобы находить исправления и определять, следует ли ОС Windows(R) исправлять конкретный исполняемый файл (EXE). Мы рекомендуем объединять базы данных в ходе следующего процесса.

Mt243981.wedge(ru-ru,VS.85).gifОбъединение настраиваемых баз данных совместимости

  1. Убедитесь, что тест-инженеры проверяют совместимость приложений на компьютерах с самой последней версией базы данных исправлений совместимости. Например, это настраиваемая БД1.

  2. Если тест-инженер приходит к выводу, что приложению требуется дополнительное исправление совместимости, которое не входит в исходную базу данных исправлений совместимости, он должен создать новую настраиваемую базу данных со всеми необходимыми сведениями об этом исправлении. Например, это настраиваемая БД2.

  3. Тест-инженер применяет сведения из новой настраиваемой БД2 к приложению, а затем тестирует как функциональность, так и интеграцию, чтобы убедиться в решении всех проблем, связанных с совместимостью.

  4. Если приложение успешно прошло все необходимые проверки функциональности и интеграции, тест-инженер отправляет настраиваемую БД2 группе, которая управляет централизованной базой данных исправлений совместимости.

  5. Эта группа открывает настраиваемую БД1 и использует средство Compatibility Administrator, чтобы добавить новые исправления совместимости, входящие в настраиваемую БД2.

    Примечание  

    В настраиваемой БД1 содержится уникальный идентификатор GUID, упрощающий обновление базы данных. Например, если вы устанавливаете новую версию настраиваемой базы данных исправлений совместимости, в которой используется тот же идентификатор GUID, что и в предыдущей версии, компьютер автоматически удалит более старую версию.

     

  6. Затем группа централизованного управления повторно развертывает новую версию настраиваемой БД1 для всех пользователей в организации.

Развертывание настраиваемых баз данных исправлений совместимости

Для развертывания настраиваемой базы данных исправлений совместимости в организации вам потребуется:

  1. Сохранить настраиваемую базу данных исправлений совместимости (SDB-файл) в месте, доступном для всех компьютеров организации.

  2. В программе командной строки Sdbinst.exe локально установить настраиваемую базу данных исправлений совместимости.

Для соответствия этим двум требованиям мы рекомендуем использовать один из следующих методов.

  • Использование пакета установщика Windows и настраиваемого сценария

    Вы можете добавить SDB-файл и настраиваемый сценарий развертывания в MSI-файл, а затем развернуть MSI-файл в организации.

    Важно  

    Вам нужно пометить настраиваемый сценарий таким образом, чтобы он не олицетворял вызывающего пользователя. Например, при использовании языка сценариев Microsoft(R) Visual Basic(R) Scripting Edition (VBScript) настраиваемым типом действия будет являться:

     

    msidbCustomActionTypeVBScript + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 0x0006 + 0x0400 + 0x0800 = 0x0C06 = 3078 decimal)
    
  • Использование сетевой папки и настраиваемого сценария

Вы можете сохранить свой SDB-файл в сетевой папке, а затем вызвать сценарий, расположенный на определенных компьютерах.

Важно  

Сценарий необходимо вызывать в период, когда будут получены повышенные права. Например, вам следует вызывать этот сценарий с помощью сценариев запуска компьютера, а не сценариев входа пользователя в систему. Также следует убедиться, что установка настраиваемой базы данных исправлений совместимости выполняется с правами администратора.

 

Пример сценария установки SDB-файла из MSI-файла

В следующих примерах показана установка настраиваемой базы данных исправлений совместимости из MSI-файла.

'InstallSDB.vbs
Function Install
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "sdbinst.exe -q " & CHR(34) & "%ProgramFiles%\MyOrganizationSDB\MyOrg.sdb" & CHR(34), 0, true
WshShell.Run "cmd.exe /c " & CHR(34) & "del " & CHR(34) & "%ProgramFiles%\MyOrganizationSDB\MyOrg.sdb" & CHR(34) & CHR(34), 0
WshShell.Run "reg.exe delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{guidFromMyOrgsSdb}.sdb /f", 0
End Function

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

Начальное развертывание и обновления

Большая часть тестирования совместимости приложений будет выполняться до развертывания новой операционной системы Windows в вашей среде. Поэтому распространенным подходом будет добавление настраиваемой базы данных исправлений совместимости, которая содержит решения всех известных проблем, в корпоративный образ. После этого при обновлении вашей базы данных исправлений совместимости можно будет предоставлять обновления одним из двух механизмов, описанных в подразделе "Развертывание настраиваемых баз данных исправлений совместимости" этого раздела.

Связанные разделы

Управление исправлениями проблем совместимости приложений и пользовательскими базами данных исправлений