msiDoActionA 函数 (msiquery.h)

MsiDoAction 函数执行内置操作、自定义操作或用户界面向导操作。

语法

UINT MsiDoActionA(
  [in] MSIHANDLE hInstall,
  [in] LPCSTR    szAction
);

参数

[in] hInstall

为 DLL 自定义操作提供的安装句柄,或通过 MsiOpenPackageMsiOpenPackageExMsiOpenProduct 获取。

[in] szAction

指定要执行的操作。

返回值

此函数返回 UINT。

注解

MsiDoAction 函数执行与提供的名称对应的操作。 如果安装程序无法将名称识别为内置操作或 CustomAction 表中的自定义操作,则名称将传递给用户界面处理程序对象,该对象可以调用函数或对话框。 如果提供了 null 操作名称,安装程序将使用 ACTION 属性的大写值作为要执行的操作。 如果未定义属性值,则执行默认操作,定义为“INSTALL”。

更新系统的操作(如 InstallFilesWriteRegistryValues 操作)无法通过调用 MsiDoAction 运行。 此规则的例外是,如果从 InstallInitializeInstallFinalize 操作之间的 InstallExecuteSequence 表中计划的自定义操作调用 MsiDoAction。 可以调用不更新系统(如 AppSearchCostInitialize)的操作。

注意

msiquery.h 标头将 MsiDoAction 定义为别名,该别名根据 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

另请参阅

安装程序操作函数