共用方式為


在 Windows XP 上安裝用於私人使用應用程式的 Win32 元件

本主題中的程式會識別如何建立 Windows Installer 套件以安裝 Win32 元件。 套件會將元件和應用程式資訊清單檔案安裝到應用程式使用的已撰寫資料夾中。 應用程式資訊清單會指定應用程式在私用元件上的相依性。 安裝套件之後,私人元件就可供應用程式獨佔使用。 應用程式資訊清單中指定的元件相依性會覆寫此應用程式的 (,) 元件資訊清單檔中指定的任何其他通用群組件相依性。

在繼續之前,最好先瞭解如何撰寫不含元件的 Windows Installer 套件。 如需詳細資訊,請參閱 安裝範例

在 Windows XP 上安裝私人元件

  1. 定義 Windows Installer 元件,其中包含 Win32 元件和應用程式資訊清單檔。 此元件可以包含應該一律隨元件一起安裝或移除的其他資源。 此程式的其餘步驟說明如何撰寫安裝資料庫以安裝此元件。
  2. 針對包含 Win32 元件和應用程式資訊清單檔的元件,將資料列新增至 元件資料表 。 輸入此元件程式碼的有效 Windows Installer GUID 。 如需詳細資訊,請參閱 變更元件程式碼 ,以及 如果元件規則中斷會發生什麼情況?
  3. 安裝程式會將元件資訊清單檔案複製到資料夾中,其中包含 MsiAssembly 資料表之 [File_Application] 欄位中指定的檔案。
  4. 將資料列新增至 FeatureComponents 資料表 ,將元件系結至 Windows Installer 功能。 如需詳細資訊,請參閱 元件和功能。 Windows Installer 功能應該是使用者可以辨識的應用程式功能片段。 當使用者選取此功能或應用程式發生錯誤時,就會啟動元件。 如果元件定義其他功能,請將其他資料列新增至功能屬性的 Feature 資料表 。 如果撰寫合併模組,則不需要此步驟。
  5. 對於並存元件,系結和啟用資訊例如 COM 類別、介面和類型程式庫會儲存在資訊清單檔中,而不是登錄。 私人元件會將此資訊儲存在組件資訊清單中。 在支援並存元件的系統上,安裝程式會略過處理 在 Extension 資料表Verb 資料表TypeLib 資料表MIME資料表、 Class 資料表ProgId 資料表AppId 資料表中輸入之元件的任何資訊。 系結和啟用資訊可以輸入資料表,供不支援並存元件共用的系統使用。
  6. 並存安裝不會全域註冊元件。 如果 SelfReg 資料表中輸入任何自我註冊資訊,安裝程式會略過自我註冊元件。 自我註冊資訊可以輸入 SelfReg 資料表,以在不支援並存元件共用的系統上自我註冊元件。
  7. 將任何其他登錄資訊、專屬於系結和啟用或元件的自我註冊新增至 登錄資料表RemoveRegistry 資料表和環境 資料表
  8. 安裝程式會在支援並存共用的作業系統上略過此元件的 IsolatedComponent 資料表 。 如果您想要讓元件在支援本機檔案的系統上私用,請在此資料表中輸入資訊。
  9. 針對包含 Win32 元件的元件,將資料列新增至 MsiAssembly 資料表 。 在 MsiAssembly 資料表的 [屬性] 欄位中輸入 1 的值,以指定這是 Win32 元件。 在 MsiAssembly 資料表的 [File_Application] 欄位中,輸入私用元件的檔案金鑰。 將 MsiPublishAssemblies 巨集指令 新增至 InstallExecuteSequence 資料表AdvtExecuteSequence 資料表。 將 MsiUnpublishAssemblies 巨集指令 新增至 InstallExecuteSequence 資料表。 在 Directory 資料表中撰寫元件和資訊清單檔案的資料夾。 此資料夾應該位於應用程式的根目錄中,並包含 MsiAssembly 資料表的 [File_Application] 欄位中指定的檔案。 在安裝應用程式期間,安裝程式會解析此資料夾路徑的 Directory 資料表 。 如需詳細資訊,請參閱 使用目錄資料表
  10. 將資料列新增至元件的 MsiAssemblyName 資料表 。 針對資訊清單的 assemblyIdentity 區段中指定的每個名稱和值組,新增一個資料列。 如需詳細資訊,請參閱 MsiAssemblyName 資料表