Database.CreateTransformSummaryInfo 方法

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

语法

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

parameters

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 安装程序
DLL
Msi.dll
IID
IID_IDatabase定义为 000C109D-0000-0000-C000-0000000000046

另请参阅

数据库转换