共用方式為


MsiEmbeddedChainer 數據表

使用此數據表來撰寫 多個套件安裝。 MsiEmbeddedChainer 數據表中的每個數據列都會參考不同的使用者定義函式,可用來從單一套件安裝多個 Windows Installer 套件。 用戶定義函式 可執行文件會儲存在 Windows Installer 套件內。

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

已啟用 遠端桌面服務 角色的 Windows Server 2008 R2:不支援。 如果已啟用 遠端桌面服務 角色,則使用 MsiEmbeddedChainer 資料表的多個套件安裝會失敗。

若要從單一套件安裝多個套件,MsiEmbeddedChainer 數據表中列出的其中一個使用者定義函式必須具有條件語句,才能評估為執行動作。 如果一個以上的函式有評估為執行的條件,則只能執行一個函式。 此案例是錯誤,且無法保證會執行哪個函式。 如果安裝需要其他自定義動作,這些動作應該撰寫到 CustomAction 數據表 和順序數據表中。

函式必須藉由呼叫 MsiJoinTransaction 函式來聯結目前的安裝,而且必須呼叫 MsiEndTransaction 函式來認可多個套件的安裝。 如果函式在呼叫 msiEndTransaction 之前傳回 ,安裝程式會回復所有安裝。

MsiEmbeddedChainer 數據表具有下列數據行。

類型 鑰匙
MsiEmbeddedChainer 識別碼 Y N
條件 條件 N Y
CommandLine 格式化 N Y
CustomSource N N
類型 整數 N N

 

MsiEmbeddedChainer

數據表的主鍵。 這個值是這個數據列所描述之用戶定義函數的唯一標識符。

條件

執行使用者定義函式的條件語句。 您可以使用修改此欄位評估之屬性值的轉換,啟用或停用 MsiEmbeddedChainer 資料表中列出的函式。 如需詳細資訊,請參閱在條件語句中使用屬性

CommandLine

此欄位中的值是傳遞至 Source 資料行中所識別可執行檔之命令行字串的一部分。 安裝程式會將此欄位中的值附加至交易句柄,以產生命令行。 如果此數據行中的值為 null,命令行只會包含交易句柄。

來源

使用者定義函式可執行檔的位置。 如果 Type 資料列中的值為 2,則此資料列可以在 Binary 資料表中包含外部索引鍵,。 如果 Type 資料列中的值為 18,則此資料列可以在 File 資料表中包含外部索引鍵,。 如果 Type 資料列中的值為 50,則此資料列可以包含外部索引鍵至 Property 資料表

類型

MsiEmbeddedChainer 資料表中列出的函式會使用下列自定義動作數值類型來描述。 此數據行只能包含下列三個數值類型的值;忽略任何其他自定義動作旗標組合。

自定義動作類型 自定義動作旗標 十六進位 十進位
自定義動作類型 2 msidbCustomActionTypeExe + msidbCustomActionTypeBinaryData 0x002 2
自定義動作類型 18 msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile 0x012 18
自定義動作類型 50 msidbCustomActionTypeExe + msidbCustomActionTypeProperty 0x032 50

 

言論

Windows Installer 不會防止此數據表中的使用者定義函式在應用程式公告期間執行。 您可以使用 Condition 資料行中的條件語句來防止函式在公告期間執行。

Windows Installer 也提供非內嵌的外部 UI 處理程式,在 Windows Installer 套件之上建置豐富的使用者介面。 如需搭配 Windows Installer 使用外部 UI 處理程式的詳細資訊,請參閱 使用 MsiSetExternalUI 監視安裝

MsiPackageCertificate 數據表 列出用來驗證進行多重套件安裝之安裝套件身分識別的數位簽名憑證。 您可以使用此表格來減少多套件安裝顯示 用戶帳戶控制 (UAC) 提示的次數,而需要系統管理員的回應。