MSI.ApplyPatch

boolean MSI.ApplyPatch ( string PatchPath,
string InstallPackage,
number InstallType,
string CommandLine = "" )
Примеры

Описание

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

Примечание: При применении небольших обновлений или патчей незначительных изменений, нужно в командной строке установить атрибут (свойство) REINSTALL. Без этого атрибута патч зарегистрируется в системе, но не будет обновлять файлы. Для патчей которые не используют атрибуты REINSTALL и REINSTALLMODE в Custom Action Type 51 для автоматической установки, атрибут REINSTALL должен быть явно указан в параметре CommandLine. Установите атрибут REINSTALL для перечисления элементов затронутых патчем, или используйте практичное значение по умолчанию "REINSTALL=ALL". Значением по умолчанию атрибута REINSTALLMODE является "omus". Начиная с Windows Installer версии 3.0, атрибут REINSTALL настраивается программой-установшиком и не требует установки через командную строку.

Параметры

PatchPath

(строка) Полный путь к пакету патча (к пакету исправлений).

InstallPackage

(строка) Если параметр InstallType установлен как INSTALLTYPE_NETWORK_IMAGE, этот параметр должен быть полным путем к продукту, который должен быть пропатчен. Для того чтобы программа-установщик (инсталлер) применил патч для каждого подходящего продукта, перечисленного в пакете исправлений, установите этот параметр как пустую строку (""), а параметр InstallType как INSTALLTYPE_DEFAULT. Если параметр InstallType установлен как INSTALLTYPE_SINGLE_INSTANCE, программа-установщик (инсталлер) применяет патч для продукта указанного в этом параметре. В этом случае, другие подходящие продукты указанные в пакете исправлений игнорируются и этот параметр должен содержать строку представляющую код продукта обновляемой копии программы. Этот тип установки требует программы-установщика (инсталлера), запущенного под Windows Server 2003 или Windows XP SP1.

InstallType

(число) Тип установки патча. Выбор из:

КОНСТАНТА
CONSTANT
ЗНАЧЕНИЕ
VALUE
ОПИСАНИЕ
DESCRIPTION
INSTALLTYPE_DEFAULT0Поиск в системе продуктов для исправления (для применения патча). В этом случае, параметр InstallPackage должен быть пустой строкой ("").
INSTALLTYPE_NETWORK_IMAGE1Определяется административной установкой. В этом случае, в параметре InstallPackage должен быть указан путь к пакету.
INSTALLTYPE_SINGLE_INSTANCE2Обновление продукта указанного в параметре InstallPackage. Параметр InstallPackage является кодом продукта обновляемой копии программы. Этот тип установки требует программы-установщика (инсталлера), запущенного в операционных системах семейства Windows Server 2003 или Windows XP SP1. Для более подробной информации посмотрите тему MSDN, Installing Multiple Instances of Products and Patches (Установка нескольких копий продукта и патчей).

CommandLine

(строка) Используемые параметры свойств командной строки.

Возврат

ResultVariable

(логический) Возвращает значение истина - true, если действие было успешным, или значение ложь - false, если оно неудачное. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

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

Примеры

Примеры 1

bPatchSuccess = MSI.ApplyPatch(_TempFolder .. "\\patch.msp", "", INSTALLTYPE_DEFAULT, "REINSTALL=ALL");

if (bPatchSuccess) then
    Dialog.Message("Patch Success", "The patch was applied successfully.");
else
    nError = Application.GetLastError();
    Dialog.Message("Error", _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION);
end
Используем действие MSI.ApplyPatch для поиска всех продуктов в системе для применения к ним "patch.msp", и показываем диалоговое окно сообщения об успешном или неудачном выполнении.
Смотрите также: Связанные действия