Функция MsiApplyPatchA (msi.h)
Для каждого продукта, указанного в пакете исправлений как подходящего для получения исправления, функция MsiApplyPatch вызывает установку и задает свойству PATCH путь к пакету исправлений.
Синтаксис
UINT MsiApplyPatchA(
[in] LPCSTR szPatchPackage,
[in] LPCSTR szInstallPackage,
[in] INSTALLTYPE eInstallType,
[in] LPCSTR szCommandLine
);
Параметры
[in] szPatchPackage
Строка, заканчивающаяся null, указывающая полный путь к пакету исправлений.
[in] szInstallPackage
Если параметр eInstallType имеет значение INSTALLTYPE_NETWORK_IMAGE, этот параметр представляет собой строку, завершающуюся значением NULL, которая указывает путь к продукту, который должен быть исправлен. Установщик применяет исправление к каждому подходящему продукту, указанному в пакете исправлений, если szInstallPackage имеет значение NULL, а eInstallType — INSTALLTYPE_DEFAULT.
Если eInstallType имеет INSTALLTYPE_SINGLE_INSTANCE, установщик применяет исправление к продукту, указанному szInstallPackage. В этом случае другие подходящие продукты, перечисленные в пакете исправлений, игнорируются, а параметр szInstallPackage содержит строку, завершающуюся null, представляющую код продукта экземпляра для исправления. Для установки этого типа требуется установщик под управлением Windows Server 2003 или Windows XP.
[in] eInstallType
Этот параметр указывает тип установки для исправления.
Тип установки | Значение |
---|---|
|
Указывает административную установку. В этом случае для szInstallPackage необходимо задать путь к пакету. Значение 1 для INSTALLTYPE_NETWORK_IMAGE задает его для административной установки. |
|
Поиск продуктов для исправления в системе. В этом случае значение szInstallPackage должно иметь значение 0. |
|
Исправление продукта, указанного szInstallPackage. szInstallPackage — это код продукта экземпляра для исправления. Для установки этого типа требуется установщик под управлением Windows Server 2003 или Windows XP с пакетом обновления 1 (SP1). Дополнительные сведения см. в разделе Установка нескольких экземпляров продуктов и исправлений. |
[in] szCommandLine
Строка, завершающаяся значением NULL, указывающая параметры свойства командной строки. См. статьи Сведения о свойствах и Настройка значений открытых свойств в командной строке. См. раздел «Примечания».
Возвращаемое значение
Значение | Значение |
---|---|
|
Функция успешно завершена. |
|
Не удалось открыть пакет исправлений. |
|
Пакет исправлений недопустим. |
|
Пакет исправлений не поддерживается. |
|
См . коды ошибок. |
Произошла ошибка при инициализации. |
Комментарии
Поскольку разделитель списка для преобразований, источников и исправлений является точкой с запятой, этот символ не следует использовать для имен файлов или путей.
Необходимо задать свойство REINSTALL в командной строке при применении небольшого обновления или дополнительного обновления. Без этого свойства исправление регистрируется в системе, но не может обновлять файлы. Для исправлений, которые не используют пользовательский тип действия 51 для автоматической настройки свойств REINSTALL и REINSTALLMODE , свойство REINSTALL должно быть явно задано с параметром szCommandLine . Задайте свойство REINSTALL , чтобы получить список функций, затронутых исправлением, или используйте практический параметр по умолчанию "REINSTALL=ALL". Значение по умолчанию свойства REINSTALLMODE — "omus". Начиная с установщика Windows версии 3.0 свойство REINSTALL настраивается установщиком и его не нужно задавать в командной строке.
Примечание
Заголовок msi.h определяет MsiApplyPatch в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Установщик Windows 5.0 в Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7. Установщик Windows 4.0 или Установщик Windows 4.5 в Windows Server 2008 или Windows Vista. Установщик Windows в Windows Server 2003 или Windows XP. Сведения о минимальном пакете обновления Windows, необходимом для версии установщика Windows, см. в статье Требования к установщику Windows Run-Time. |
Целевая платформа | Windows |
Header | msi.h |
Библиотека | Msi.lib |
DLL | Msi.dll |
См. также раздел
Установка с несколькими пакетами
Не поддерживается в установщике Windows 2.0 и более ранних версий