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
目标平台 窗户
标头 msi.h

另请参阅

MsiSetExternalUI