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 應該匯出 InitializeEmbeddedUI、 EmbeddedUIHandler和 ShutdownEmbeddedUI 函式。 不支援內嵌使用者介面的套件可以使用 Windows Installer 內部使用者介面。
若要在內嵌使用者介面上執行Windows偵錯工具,請使用偵錯自訂動作中所述的技術。 將 MsiBreak 的值設定為 MsiEmbeddedUI。
如需內嵌自訂 UI 的範例,請參閱 使用內嵌 UI。