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


Функция 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 Property и 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
целевая платформа Виндоус
заголовка msiquery.h
библиотеки Msi.lib
DLL Msi.dll

См. также

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

набор свойств потока сводной информации