Поделиться через


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

Область применения

  • Windows 10
  • Windows 8.1
  • Windows 8
  • Windows 7
  • Windows Server 2012
  • Windows Server 2008 R2

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

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

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

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

Примечание.

Эти рекомендации не основаны на подходе, который вы решили использовать. Ниже приведены общие рекомендации.

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

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

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

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

  • Определение ресурсов, ответственных за решение вопросов и применение стандартов

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

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

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

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

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

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

Развертывание исправлений в составе пакета Application-Installation

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

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

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

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

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

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

Развертывание исправлений через централизованную базу данных Compatibility-Fix

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

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

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

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

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

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

Слияние централизованных баз данных Compatibility-Fix

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

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

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

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

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

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

  5. Команда, управляющая централизованной базой данных, открывает Custom DB1 и использует администратора совместимости для включения новых исправлений совместимости, включенных в настраиваемую DB2.

    Примечание.

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

  6. Затем централизованная команда управления повторно развертывает новую версию Custom DB1 для всех конечных пользователей в вашей организации.

Развертывание пользовательских баз данных Compatibility-Fix

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

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

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

Чтобы выполнить указанные выше два требования, рекомендуется использовать один из следующих двух методов:

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

    Вы можете упаковывать SIB-файл и пользовательский сценарий развертывания в файл с расширением .msi, а затем развернуть .msi файл в организации.

    Важно.

    Убедитесь, что вы помечаете пользовательский скрипт так, чтобы он не олицетворял вызывающего пользователя. Например, если вы используете Microsoft® Visual Basic® Scripting Edition (VBScript), настраиваемый тип действия будет следующим: msidbCustomActionTypeVBScript + msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate = 0x0006 + 0x0400 + 0x0800 = 0x0C06 = 3078 decimal)

  • Использование общей сетевой папки и пользовательского скрипта

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

Важно.

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

Пример скрипта для установки SIB-файла на основе .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. Чтобы устранить эти проблемы, включите в корпоративный образ настраиваемую базу данных исправлений совместимости, которая включает все известные проблемы. Позже обновите базу данных исправлений совместимости; предоставьте обновления с помощью одного из двух механизмов, описанных в разделе "Развертывание пользовательских баз данных исправления совместимости".

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