從外部使用者介面處理程序傳回值
外部使用者介面 (UI) 處理程式可以根據安裝程式傳遞給處理程式的訊息類型參數中提供的按鈕類型,將任意數目的值傳回 Windows Installer。
外部UI處理程式可以隨時傳回 –1 和0值,因為這些值與按鈕類型無關。 –1 的傳回值表示外部 UI 處理程式中發生內部錯誤。 傳回值為 0 表示外部 UI 處理程式尚未處理安裝程式訊息,而且安裝程式必須改為處理訊息。
對於不包含按鈕類型的訊息,例如INSTALLMESSAGE_ACTIONDATA和INSTALLMESSAGE_PROGRESS,傳回 IDCANCEL 會取消安裝。 傳回 IDOK 會通知安裝程式該訊息已被外部 UI 處理器處理。
如下所述,其餘傳回值與訊息類型隨附的按鈕類型直接相關。
外部UI傳回值 | 意義 |
---|---|
IDOK | 使用者按下 [確定] 按鈕。 已瞭解訊息資訊。 |
IDCANCEL | 按下 CANCEL 按鈕。 取消安裝。 |
IDABORT | 按下 ABORT 按鈕。 中止安裝。 |
IDRETRY | 已按下 [重試] 按鈕。 請再試一次動作。 |
IDIGNORE | 按下 [忽略] 按鈕。 忽略錯誤並繼續。 |
IDYES | 按下 [是] 按鈕。 肯定回應會繼續目前的事件序列。 |
IDNO | 按下 [NO] 按鈕。 負回應不會繼續目前的事件序列。 |
例如,如果外部 UI 處理程式傳送具有MB_ABORTRETRYIGNORE消息框樣式旗標的訊息,外部 UI 處理程式可以傳回下列其中一個值:
- –1 (外部 UI 處理程序發生錯誤)
- 0 (外部 UI 處理程式中未採取任何動作,讓 Windows Installer 處理它)
- IDABORT (已按下ABORT 按鈕)
- IDRETRY(按下 [重試] 按鈕)
- IDIGNORE([忽略] 按鈕已按下)