使用實例轉換創建多個實例
若要從一個 Windows Installer 套件安裝產品的多個實例,除了要安裝基底實例之外,您還需要撰寫產品的基底安裝套件,以及每個實例的實例轉換。 撰寫基底套件和轉換時,請使用下列指導方針:
- 您的安裝應用程式可以檢查在 Windows Vista 版本、Windows Server 2003、Windows XP Service Pack 1 (SP1) 和 Windows Installer 3.0 可轉散發套件上執行的安裝程式是否存在。 任何這些安裝程式版本(或更新版本)都需要通過改變產品代碼的轉換,從單一套件中安裝多個實例。
- 每個實例都必須有唯一的產品名稱和實例標識碼。 您可以在基底封裝中定義 屬性,其值可以設定為實例標識碼。
- 若要讓每個實例的檔案保持隔離,基底套件應該將檔案安裝到相依於實例標識碼的目錄位置。
- 為了隔離每個實例的非檔案數據,基底套件應該將非檔案數據收集到每個實例的元件集。 然後,應該根據相依於實例標識符的條件語句來安裝適當的元件。
- 為除了基底實例之外的每個要安裝的實例撰寫實例轉換。 基礎套件可以安裝其自己的實例。
- 實例轉換必須變更每個實例的產品名稱和標識碼。
- 建議產品轉換也會變更產品名稱,以便透過 [控制面板] 在 [新增/移除程式] 中辨別實例。
- 如果實例轉換安裝檔案,則應該安裝在相依於實例標識碼的目錄中。
- 所有非檔案數據,例如登錄機碼,都應該在其路徑中包含實例名稱,以避免發生衝突。 這可以透過使用 路徑中值為實例標識碼的屬性來完成,如下列 登錄數據表範例所示。
註冊表 | 根 | 鑰匙 | 名字 | 價值 | 元件_ |
---|---|---|---|---|---|
Reg1 | 1 | Software\Microsoft\MyProduct\[InstanceId] | InstanceGuid | [ProductCode] | NonFileDataComp1 |
如需詳細資訊,請參閱 安裝多個產品和修補程式的實例 和 使用實例轉換來安裝多個實例。