msidatabaseApplyTransformA 函数 (msiquery.h)
MsiDatabaseApplyTransform 函数将转换应用于数据库。
语法
UINT MsiDatabaseApplyTransformA(
[in] MSIHANDLE hDatabase,
[in] LPCSTR szTransformFile,
[in] int iErrorConditions
);
参数
[in] hDatabase
从 MsiOpenDatabase 获取到转换的数据库的句柄。
[in] szTransformFile
指定要应用的转换文件的名称。
[in] iErrorConditions
应禁止显示的错误条件。 此参数是可以包含以下位的位字段。
添加状态 | 含义 |
---|---|
|
添加已存在的行。 |
|
删除不存在的行。 |
|
添加已存在的表。 |
|
删除不存在的表。 |
|
更新不存在的行。 |
|
转换和数据库代码页不匹配,两者都没有中性代码页。 |
|
创建临时 _TransformView表。 |
返回值
MsiDatabaseApplyTransform 函数返回以下值之一:
注解
MsiDatabaseApplyTransform 函数将转换表延迟到必要为止。 将立即处理要添加或删除的任何表。 但是,在加载表或提交数据库之前,对现有表的更改会延迟。
如果在加载表并将其保存到存储时调用 MsiDatabaseApplyTransform ,则会发生错误。
由于转换、源和修补程序的列表分隔符是分号,因此不应将此字符用于文件名或路径。
无法从自定义操作调用此函数。 从自定义操作调用此函数会导致函数失败。
如果函数失败,可以使用 MsiGetLastErrorRecord 获取扩展的错误信息。
注意
msiquery.h 标头将 MsiDatabaseApplyTransform 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 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 |
目标平台 | Windows |
标头 | msiquery.h |
Library | Msi.lib |
DLL | Msi.dll |