Database.CreateTransformSummaryInfo 方法

Database 对象的 CreateTransformSummaryInfo 方法可用于创建并填充现有转换文件的摘要信息流。 此方法使用基本和引用 ProductCodeProductVersion 填充属性。

语法

Database.CreateTransformSummaryInfo(
  reference,
  storage,
  errorConditions,
  validation
)

参数

reference

不包含更改的必需数据库。

storage

生成的转换文件的名称。 此为可选项。

errorConditions

应用转换时应取消的必需错误条件。 组合以下一个或多个错误条件值。

错误条件名称 含义
msiTransformErrorNone
0
以下条件均未满足。
msiTransformErrorAddExistingRow
1
添加已存在的行。
msiTransformErrorDeleteNonExistingRow
2
删除不存在的行。
msiTransformErrorAddExistingTable
4
添加已存在的表。
msiTransformErrorDeleteNonExistingTable
8
删除不存在的表。
msiTransformErrorUpdateNonExistingRow
16
更新不存在的行。
msiTransformErrorChangeCodepage
32
转换和数据库代码页不匹配,两个代码页都不是中性的。

validation

将转换应用于数据库时必需;显示应验证哪些属性以验证此转换是否可应用于数据库。 这些属性都包含在摘要信息流属性集中。

组合以下一个或多个值。

验证标志 含义
msiTransformValidationNone
0
不进行验证。
msiTransformValidationLanguage
1
默认语言必须与基本数据库匹配。
msiTransformValidationProduct
2
产品必须与基本数据库匹配。

若要验证产品版本,请先选择这三个标志中的一个或多个,以指示要验证的版本量。

验证标志 含义
msiTransformValidationMajorVer
8
仅检查主要版本。
msiTransformValidationMinorVer
16
仅检查主要版本和次要版本。
msiTransformValidationUpdateVer
32
检查主要版本、次要版本和更新版本。

然后选择以下选项之一,以指示要应用转换的数据库的产品版本与基本数据库的产品版本之间所需的关系。

验证标志 含义
msiTransformValidationLess
64
应用版本 < 基本版本
msiTransformValidationLessOrEqual
128
应用版本 <= 基本版本
msiTransformValidationEqual
256
应用版本 = 基本版本
msiTransformValidationGreaterOrEqual
512
应用版本 >= 基本版本
msiTransformValidationGreater
1024
应用版本 > 基本版本

若要验证转换是否应用于具有相应 UpgradeCode 的包,请设置以下标志。

验证标志 含义
msiTransformValidationUpgradeCode
2048
验证转换是否为适当的 UpgradeCode

返回值

此方法不返回值。

备注

若要为转换创建摘要信息流,必须同时在基本数据库和引用数据库的 Property 表中定义 ProductCodeProductVersion 属性。 如果使用 msiTransformValidationUpgradeCode,则必须同时在两个数据库中定义 UpgradeCode 属性。

要求

要求
版本
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer
DLL
Msi.dll
IID
IID_IDatabase 定义为 000C109D-0000-0000-C000-000000000046

另请参阅

数据库转换