MsiAssembly 數據表
MsiAssembly 數據表會指定Microsoft .NET Framework 元件和 Win32 元件的 Windows Installer 設定。 如需詳細資訊,請參閱將元件安裝 至全域程式集緩存 和 win32 元件 安裝。
在 Windows XP 上,Windows Installer 可以將 Win32 元件安裝為 並存元件。 如需詳細資訊,請參閱 並存元件 API。
Windows 2000: 不支援此功能。
MsiAssembly 數據表具有下列數據行。
列 | 類型 | 鑰匙 | 空 |
---|---|---|---|
元件_ | 識別碼 | Y | N |
特徵_ | 識別碼 | N | N |
File_Manifest | 識別碼 | N | Y |
File_Application | 識別碼 | N | Y |
屬性 | 整數 | N | Y |
列
-
Component_
-
元件數據表中的索引鍵,指定包含此元件的 Windows Installer 元件。
此欄位中的值不得設定為 null。 元件數據表中的 component KeyPath 字段 不得為 null。
針對 Win32 元件,元件 KeyPath 不能是File_Manifest中指定的指令清單檔。 指令清單可以是 .NET Framework 或原則元件的索引鍵路徑。
-
Feature_
-
當元件必須由功能安裝安裝時,Windows Installer 會安裝此欄位所指向的功能。
-
File_Manifest
-
檔案資料表 的外部索引鍵,指定包含 .NET Framework 元件或 Win32 元件的指令清單的檔案。
針對 Win32 元件,請勿將此檔案指定為 元件數據表之 KeyPath 字段中的元件金鑰路徑檔案,。
-
File_Application
-
若要在私人位置安裝元件,請在此欄位中輸入元件金鑰路徑檔案。
這是出現在 元件資料表的 KeyPath 字段中的值,。 安裝程式接著可以將元件安裝到 Directory Table中指定的元件目錄結構。 如果要將元件安裝到全域程式集緩存中,這個字段必須是 Null。
-
屬性
-
輸入 Win32 元件的 1(一個) 值。 輸入 .NET Framework 元件的 0 值(零)。
如果 Attributes 資料行為 NULL,安裝程式會將元件視為 .NET Framework 元件。
言論
如果 MsiAssembly 數據表中至少有一個專案,InstallExecuteSequence 數據表 必須包含 MsiPublishAssemblies 巨集指令,MsiUnpublishAssemblies 巨集指令。
因為元件在認可之後無法復原,所以 Windows Installer 會使用雙步驟安裝程式。 元件介面會在 MsiPublishAssemblies Action所產生的安裝作業期間建立。
除非成功執行 InstallFinalize Action,否則不會認可元件。 這表示,如果您撰寫依賴元件的自定義動作或資源,則必須在 InstallFinalize Action之後進行排序。 例如,如果您需要啟動相依於全域程式集緩存 (GAC) 元件的服務,則必須在 InstallFinalize Action之後排程該服務的啟動。 這表示您無法使用 ServiceControl 數據表 啟動服務,而必須使用在 InstallFinalize 之後排序的自定義動作。
驗證