共用方式為


INSTALLUI_HANDLER_RECORD msi.h) (回呼函式

INSTALLUI_HANDLER_RECORD函式原型會定義安裝程式呼叫進度通知和錯誤訊息的回呼函式。 呼叫 MsiSetExternalUIRecord 函式,以啟用記錄基底外部使用者介面 (UI) 處理程式。

Windows Installer 3.0 和 Windows Installer 2.0: 不支援。 從 Windows Installer 3.1 版和更新版本開始提供。

語法

INSTALLUI_HANDLER_RECORD InstalluiHandlerRecord;

int InstalluiHandlerRecord(
  LPVOID pvContext,
  UINT iMessageType,
  MSIHANDLE hRecord
)
{...}

參數

pvContext

傳遞至 MsiSetExternalUIRecord 函式的應用程式內容指標。 此參數可用於錯誤檢查。

iMessageType

指定一個消息框樣式、一個消息框圖示類型、一個預設按鈕和一個安裝訊息類型的組合。 此參數必須是下列其中一項。

消息框樣式旗標 意義
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
第三個按鈕是預設按鈕。
 
安裝訊息類型旗標 意義
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。 沒有預設安裝訊息類型;一律會指定訊息類型。

hRecord

指定記錄物件的句柄。 如需記錄對象的相關信息,請參閱 記錄處理函式

傳回值

下列傳回值會對應至消息框樣式所指定的按鈕:

IDOK

 
IDCANCEL
 
IDABORT
 
IDRETRY
 
IDIGNORE
 
IDYES
 
IDNO

備註

當已知呼叫端感興趣的錯誤或訊息類型時,應該使用這種類型的外部 UI 處理程式,並想要避免剖析傳送至INSTALLUI_HANDLER類型外部 UI 處理程式的字串訊息的額外負荷,但從 hRecord 字段擷取感興趣的數據。

如需從外部使用者介面處理程式傳回值的詳細資訊,請參閱 從外部使用者介面處理程式傳回值 主題。 傳送至記錄型外部 UI 處理程式的 hRecord 物件是由 Windows Installer 所擁有,而且僅適用於回呼的存留期。 回呼應該從記錄中擷取它所需的任何數據,而且不應該關閉該句柄。

Windows Installer 將會忽略記錄型外部 UI 處理程式變更 hRecord 對象中數據的任何嘗試。

如需使用記錄型外部處理程式的詳細資訊,請參閱 使用 MsiSetExternalUIRecord 監視安裝

規格需求

需求
最低支援的用戶端 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 3.1。
目標平台 Windows
標頭 msi.h

另請參閱

MsiSetExternalUI

Windows Installer 3.0 和更早版本中不支援