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