Функция MsiCreateTransformSummaryInfoA (msiquery.h)

Функция MsiCreateTransformSummaryInfo создает сводные сведения о существующем преобразовании для включения условий проверки и ошибок. Выполнение этой функции задает запись ошибки, доступную с помощью MsiGetLastErrorRecord.

Синтаксис

UINT MsiCreateTransformSummaryInfoA(
  [in] MSIHANDLE hDatabase,
  [in] MSIHANDLE hDatabaseReference,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions,
  [in] int       iValidation
);

Параметры

[in] hDatabase

Дескриптор базы данных, содержащий сводные сведения о новой базе данных.

[in] hDatabaseReference

Дескриптор для базы данных, содержащей исходные сводные сведения.

[in] szTransformFile

Имя преобразования, к которому добавляются сводные сведения.

[in] iErrorConditions

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

Условие ошибки Значение
Нет
0x00000000
Ни одно из следующих условий.
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x00000001
Добавление существующей строки.
MSITRANSFORM_ERROR_DELMISSINGROW
0x00000002
Удаление несуществующей строки.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
Добавление существующей таблицы.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
Удаление несуществующей таблицы.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
Обновление несуществующей строки.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x00000020
Кодовая страница преобразования и базы данных не совпадает, а их кодовая страница нейтральна.

[in] iValidation

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

Флаг проверки Значение
Нет
0x00000000
Не проверяйте свойства.
MSITRANSFORM_VALIDATE_LANGUAGE
0x00000001
Язык по умолчанию должен соответствовать базовой базе данных.
MSITRANSFORM_VALIDATE_PRODUCT
0x00000002
Продукт должен соответствовать базовой базе данных.
 

Проверьте флаги версии продукта.

Флаг проверки Значение
MSITRANSFORM_VALIDATE_MAJORVERSION
0x00000008
Проверьте только основную версию.
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
Проверьте только основные и дополнительные версии.
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
Проверьте основную, дополнительную и обновленную версии.
 

Флаги связи версий продукта. В следующей таблице установленная версия — это версия преобразуемого пакета, а базовая версия — это версия пакета, которая используется для создания преобразования.

Флаг проверки Значение
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
0x00000040
Базовая версия установленной версии < .
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
0x00000080
Установленная версия <= базовая версия.
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
0x00000100
Установленная версия = базовая версия.
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
0x00000200
Установленная версия >= базовая версия.
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
0x00000400
Базовая версия установленной версии > .
 

Обновление флагов проверки кода.

Флаг проверки Значение
MSITRANSFORM_VALIDATE_UPGRADECODE
0x00000800
UpgradeCode должен соответствовать базовой базе данных.

Возвращаемое значение

Эта функция возвращает UINT.

Комментарии

Свойства ProductCode и ProductVersion Property должны быть определены в таблице свойств базовой и ссылочной баз данных. Если используется MSITRANSFORM_VALIDATE_UPGRADECODE, свойство UpgradeCode также должно быть определено в обеих базах данных. Если эти условия не выполняются, MsiCreateTransformSummaryInfo возвращает ERROR_INSTALL_PACKAGE_INVALID.

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

Примечание

Заголовок msiquery.h определяет MsiCreateTransformSummaryInfo в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Установщик 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
Header msiquery.h
Библиотека Msi.lib
DLL Msi.dll

См. также раздел

Преобразования базы данных

Сводная информация Stream набор свойств