INSTALLUI_HANDLERA回调函数 (msi.h)

INSTALLUI_HANDLER 函数原型定义了安装程序为进度通知和错误消息调用的回调函数。 有关此函数原型用法的详细信息,请参阅 使用 MsiSetExternalUI 处理进度消息中提供了示例代码片段。

语法

INSTALLUI_HANDLERA InstalluiHandlera;

int InstalluiHandlera(
  LPVOID pvContext,
  UINT iMessageType,
  LPCSTR szMessage
)
{...}

参数

pvContext

指向传递给 MsiSetExternalUI 函数的应用程序上下文的指针。 此参数可用于错误检查。

iMessageType

指定一个消息框样式、一个消息框图标类型、一个默认按钮和一个安装消息类型的组合。 此参数必须是以下参数之一。

消息框 StylesFlag 含义
MB_ABORTRETRYIGNORE
消息框包含 “中止”、“ 重试”“忽略” 按钮。
MB_OK
消息框包含 “确定” 按钮。 这是默认值。
MB_OKCANCEL
消息框包含 “确定” 和“ 取消 ”按钮。
MB_RETRYCANCEL
消息框包含 “重试” 和“ 取消 ”按钮。
MB_YESNO
消息框包含 “是 ”和“ ”按钮。
MB_YESNOCANCEL
消息框包含 “是”、“ ”和 “取消” 按钮。
 
消息框 IconTypesFlag 含义
MB_ICONEXCLAMATION、MB_ICONWARNING
消息框中将显示感叹号。
MB_ICONINFORMATION、MB_ICONASTERISK
信息标志将显示在消息框中。
MB_ICONQUESTION
消息框中会显示问号。
MB_ICONSTOP、MB_ICONERROR、MB_ICONHAND
消息框中会显示一个停止标志。
 
默认 ButtonsFlag 含义
MB_DEFBUTTON1
第一个按钮是默认按钮。
MB_DEFBUTTON2
第二个按钮是默认按钮。
MB_DEFBUTTON3
第三个按钮是默认按钮。
 
安装消息 TypesFlag 含义
INSTALLMESSAGE_FATALEXIT
过早终止
INSTALLMESSAGE_ERROR
带格式的错误消息
INSTALLMESSAGE_WARNING
带格式的警告消息
INSTALLMESSAGE_USER
用户请求消息。
INSTALLMESSAGE_INFO
日志信息性消息
INSTALLMESSAGE_FILESINUSE
当前正在使用的文件列表,在被替换之前必须关闭。
INSTALLMESSAGE_RESOLVESOURCE
确定有效源位置的请求
INSTALLMESSAGE_RMFILESINUSE
当前正在使用的文件列表,在被替换之前必须关闭。 从 Windows Installer 4.0 开始可用。 有关此消息的详细信息,请参阅将重新启动管理器与外部 UI 配合使用
INSTALLMESSAGE_OUTOFDISKSPACE
磁盘空间不足消息
INSTALLMESSAGE_ACTIONSTART
操作开始消息。 此消息包括操作名称和说明。
INSTALLMESSAGE_ACTIONDATA
与单个操作项关联的格式化数据。
INSTALLMESSAGE_PROGRESS
进度仪表信息。 此消息包括到目前为止的单位数和总单位数的信息。
INSTALLMESSAGE_COMMONDATA
用户界面的格式化对话信息。
INSTALLMESSAGE_INITIALIZE
在 UI 初始化之前发送,无字符串数据
INSTALLMESSAGE_TERMINATE
UI 终止后发送,无字符串数据
INSTALLMESSAGE_SHOWDIALOG
在显示创作对话或向导之前发送
INSTALLMESSAGE_INSTALLSTART
在安装产品之前发送。
INSTALLMESSAGE_INSTALLEND
在安装产品后发送。
 
 

如果缺少上述任何消息,应使用以下默认值:MB_OK、无图标和MB_DEFBUTTON1。 没有默认的安装消息类型;始终指定消息类型。

szMessage

指定消息文本。

返回值

以下返回值映射到消息框样式指定的按钮:

IDOK

 
IDCANCEL
 
IDABORT
 
IDRETRY
 
IDIGNORE
 
IDYES
 
IDNO

注解

有关从外部用户界面处理程序返回值的详细信息,请参阅 从外部用户界面处理程序返回值 主题。

注意

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

另请参阅

MsiSetExternalUI