MsiEmbeddedUI 資料表

MsiEmbeddedUI 資料表會定義內嵌在 Windows Installer 套件中的使用者介面。

Windows Installer 4.0 或更早版本不支援。 下表從 Windows Installer 4.5 開始提供。

MsiEmbeddedUI 資料表具有下列資料行。

資料行 類型 答案 Nullable
MsiEmbeddedUI 識別碼 Y N
FileName Text N N
屬性 整數 N N
MessageFilter DoubleInteger N Y
資料 二進位 N N

 

資料行

MsiEmbeddedUI

資料表的主鍵。

檔案名

在 [資料] 資料行中接收二進位資訊的檔案名。 需要檔案名才能包含副檔名。 例如, 可接受名稱embeddedui.dll ,但 embeddedui 無法接受。 名稱可能會當地語系化。 此欄位可以包含簡短檔案名或長檔名,但不能同時包含這兩者。 此欄位的格式就像 Filename 資料行資料類型,不同之處在于垂直線 (|無法使用簡短檔案名/長檔名語法的) 分隔符號。 由於某些網頁伺服器可能會區分大小寫,所以 FileName 應該完全符合原始程式檔的大小寫,以確保支援網際網路下載。

屬性

資料行中資料的相關資訊。 此欄位中的值可以包含下列一或多個常數。

常數 十六進位 Decimal 意義
None 0x00 0 檔案不是使用者介面的 DLL 檔案。 這可能是使用者介面所使用的資源檔。
msidbEmbeddedUI 0x01 1 使用者介面的主要 DLL 檔案。 資料表中不能有一個以上的資料列可以標示為這個屬性。 如果有多個資料列以這個屬性標示,則為錯誤,而且無法保證使用哪一個 DLL。
msidbEmbeddedHandlesBasic 0x02 2 可讓安裝程式在基本 UI 層級安裝期間叫用內嵌 UI。 如果安裝程式未與 msidbEmbeddedUI 屬性結合,則會忽略這個屬性。

 

MessageFilter

指定傳送至使用者介面 DLL 的訊息類型。 此資料行僅與 msidbEmbeddedUI 屬性的資料列相關。 如果資料列參考資源檔,且 Attributes 的值為 Null,則此欄位應該是 Null。 如果資料列參考使用者介面 DLL,此資料行中的值不應為 Null。

此資料行中的值可以是下列值的組合。 安裝程式會忽略任何其他值。

常數 十六進位 Decimal 描述
INSTALLLOGMODE_FATALEXIT 0x00001 1 提前終止。
INSTALLLOGMODE_ERROR 0x00002 2 錯誤訊息。
INSTALLLOGMODE_WARNING 0x00004 4 警告訊息。
INSTALLLOGMODE_USER 0x00008 8 使用者訊息。
INSTALLLOGMODE_INFO 0x00010 16 未記錄的狀態訊息。
INSTALLLOGMODE_FILESINUSE 0x00020 32 目前保留使用的檔案。
INSTALLLOGMODE_RESOLVESOURCE 0x00040 64 來源解析要求。
INSTALLLOGMODE_OUTOFDISKSPACE 0x00080 128 磁碟空間訊息。
INSTALLLOGMODE_ACTIONSTART 0x00100 256 動作啟動訊息。
INSTALLLOGMODE_ACTIONDATA 0x00200 512 動作資料訊息。
INSTALLLOGMODE_PROGRESS 0x00400 1024 進度訊息。
INSTALLLOGMODE_COMMONDATA 0x00800 2048 UI 初始化訊息。
INSTALLLOGMODE_INITIALIZE 0x01000 4096 產品安裝啟動時所傳送的 UI 啟動訊息。
INSTALLLOGMODE_TERMINATE 0x02000 8192 產品安裝完成後所傳送的 UI 關機訊息。
INSTALLLOGMODE_SHOWDIALOG 0x04000 16384 顯示 UI 對話方塊之前傳送的訊息。
INSTALLLOGMODE_RMFILESINUSE 0x02000000 33554432 目前保留在使用中的檔案。
INSTALLLOGMODE_INSTALLSTART 0x04000000 67108864 產品安裝開始。 訊息包含產品的 ProductName 和 ProductCode。
INSTALLLOGMODE_INSTALLEND 0x08000000 134217728 產品安裝結束。 訊息包含產品的 ProductName、ProductCode 和傳回值。

 

資料

此資料行包含二進位資訊。 如果 [屬性] 欄位標示為 msidbEmbeddedUI 屬性,則此欄位中的資訊必須是 DLL。 如果 [屬性] 欄位不是 msidbEmbeddedUI 屬性,則此欄位中的資訊可以是任何格式的資源檔。

備註

若要使用內嵌的使用者介面,安裝程式開發人員必須將這項功能撰寫到 Windows Installer 套件中。 MsiEmbeddedUI 資料表會定義內嵌的使用者介面。 內嵌 UI 的 DLL 應該匯出 InitializeEmbeddedUIEmbeddedUIHandlerShutdownEmbeddedUI 函式。 不支援內嵌使用者介面的套件可以使用 Windows Installer 內部使用者介面。

若要在內嵌使用者介面上執行Windows偵錯工具,請使用偵錯自訂動作中所述的技術。 將 MsiBreak 的值設定為 MsiEmbeddedUI。

如需內嵌自訂 UI 的範例,請參閱 使用內嵌 UI