从外部用户界面处理程序返回值

外部用户界面 (UI) 处理程序可以将任意数量的值返回到 Windows Installer,具体取决于安装程序传递给处理程序的消息类型参数中提供的按钮类型。

外部 UI 处理程序可以随时返回值 –1 和 0,因为这些值与按钮类型无关。 返回值 –1 表示外部 UI 处理程序中发生了内部错误。 返回值为 0 表示外部 UI 处理程序未处理安装程序消息,安装程序必须处理该消息。

对于不包含按钮类型的消息(例如INSTALLMESSAGE_ACTIONDATA和INSTALLMESSAGE_PROGRESS),返回 IDCANCEL 将取消安装。 返回 IDOK 会通知安装程序,消息已由外部 UI 处理程序处理。

其余的返回值与消息类型中包含的按钮类型直接相关,如下所述。

外部 UI 返回值 含义
IDOK 用户按下了“确定”按钮。 用户已理解消息信息。
IDCANCEL 已按下“取消”按钮。 取消安装。
IDABORT 已按下“中止”按钮。 中止安装。
IDRETRY 已按下“重试”按钮。 请稍后再尝试操作。
IDIGNORE 已按下“忽略”按钮。 忽略错误并继续。
IDYES 按下了“是”按钮。 肯定响应,继续当前事件序列。
IDNO 已按下“否”按钮。 否定响应,不会继续处理当前事件序列。

 

例如,如果向外部 UI 处理程序发送带有 MB_ABORTRETRYIGNORE 消息框样式标志的消息,则外部 UI 处理程序可能会返回以下值之一:

  • –1(外部 UI 处理程序出错)
  • 0(外部 UI 处理程序中未执行任何操作,由 Windows Installer 处理)
  • IDABORT(已按下“中止”按钮)
  • IDRETRY (已按下“重试”按钮)
  • IDIGNORE(已按下“忽略”按钮)