Share via


MsiAssembly 資料表

MsiAssembly Table 會指定 Microsoft .NET Framework 元件和 Win32 元件的 Windows Installer 設定。 如需詳細資訊,請參閱 將元件安裝至全域程式集 緩存和 Win32 元件的安裝

在 Windows XP 上,Windows Installer 可以將 Win32 元件安裝為 並存元件。 如需詳細資訊,請參閱 並存元件 API

Windows 2000: 不支援此功能。

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

資料行 類型 答案 Nullable
元件_ 識別碼 Y N
特徵_ 識別碼 N N
File_Manifest 識別碼 N Y
File_Application 識別碼 N Y
屬性 整數 N Y

 

資料行

元件_

元件 資料表 中的索引鍵,指定包含此元件的 Windows Installer 元件。

此欄位中的值不得設定為 null。 元件資料表中的元件 KeyPath 欄位不得為 Null。

針對 Win32 元件,元件 KeyPath 不能是File_Manifest中指定的資訊清單檔。 資訊清單可以是.NET Framework或原則元件的索引鍵路徑。

特徵_

功能資料表的索引鍵。

當元件必須由功能安裝安裝時,Windows Installer 會安裝此欄位所指向的功能。

File_Manifest

檔案資料表的外部索引鍵,指定包含.NET Framework元件或 Win32 元件的資訊清單的檔案。

針對 Win32 元件,請勿將此檔案指定為 元件資料表之 KeyPath 欄位中的元件金鑰路徑檔案。

File_Application

若要在私人位置安裝元件,請在此欄位中輸入元件金鑰路徑檔案。

這是出現在 [元件資料表] 之 KeyPath 欄位中的值。 安裝程式接著可以將元件安裝到 目錄資料表中指定的元件目錄結構。 如果要將元件安裝到全域組件快取中,此欄位必須是 Null。

屬性

輸入 Win32 元件的 1 (一個) 。 輸入.NET Framework元件的 0 (零) 值。

如果 [屬性] 資料行為 Null,安裝程式會將元件視為.NET Framework元件。

備註

如果 MsiAssembly Table 中至少有一個專案, InstallExecuteSequence 資料表 必須包含 MsiPublishAssemblies 動作MsiUnpublishAssemblies Action

由於元件在認可之後無法復原,因此 Windows Installer 會使用雙步驟安裝程式。 元件介面會在 MsiPublishAssemblies 動作所產生的安裝作業期間建立。

在成功執行 InstallFinalize 動作之前,不會認可元件。 這表示如果您撰寫相依元件的自訂動作或資源,則必須在 InstallFinalize 動作之後進行排序。 例如,如果您需要啟動相依于全域組件快取 (GAC) 元件的服務,您必須在 InstallFinalize 動作之後排程該服務的啟動。 這表示您無法使用 ServiceControl 資料表 來啟動服務,而是必須使用在 InstallFinalize 之後排序的自訂動作。

驗證

ICE03
ICE06
ICE32
ICE66
ICE83
ICE94