MsiDatabaseApplyTransformW 函数 (msiquery.h)
MsiDatabaseApplyTransform 函数将转换应用于数据库。
语法
UINT MsiDatabaseApplyTransformW(
[in] MSIHANDLE hDatabase,
[in] LPCWSTR 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 |
目标平台 | 窗户 |
标头 | msiquery.h |
库 | Msi.lib |
DLL | Msi.dll |