修補和升級
因為安裝套件可以包含組成應用程式的檔案,以及安裝所需的資訊,所以可以使用 Windows Installer 來更新應用程式。 安裝程式可以更新安裝套件下列部分的資訊:
- .msi檔案。
- 應用程式的檔案。
- Windows Installer 註冊資訊。
更新的類型可以透過更新對應用程式的產品代碼、產品版本和套件程式碼所做的變更來描述。 應用程式的產品版本會儲存在 ProductVersion 屬性中。 應用程式的產品代碼會儲存在 ProductCode 屬性中。 應用程式的 套件程式碼 會儲存在 修訂編號摘要 屬性中。
需要將應用程式變更為另一個產品的更新,才能變更應用程式的 ProductCode 。 如需哪些更新需要變更 ProductCode 的詳細資訊,請參閱 變更產品代碼。 如果應用程式的未來版本需要區分目前產品的更新版本與未更新的版本,更新可以變更 ProductVersion 並讓 ProductCode 保持不變。 套件程式碼可唯一識別安裝套件,每當更新或升級變更安裝套件中的任何資訊時,應該一律變更。
決定是否要變更產品版本時,您應該考慮應用程式的未來版本是否需要區分目前產品的更新和未更新版本。 為了確保日後的差異,應該使用 次要升級 ,而不是 小型更新。
- 如果更新變更.msi檔案和應用程式檔,但不會變更 ProductCode 屬性或 ProductVersion 屬性,則稱為 小型更新。
- 如果更新變更 ProductVersion,但不會變更 ProductCode,則稱為 次要升級。
- 如果更新將安裝變更為完全不同的產品, ProductCode 必須變更,且更新稱為 主要升級。
下表摘要說明不同類型的更新。
更新類型 | Productcode | ProductVersion | Description |
---|---|---|---|
小型更新 | 沒有變更 | 沒有變更 | 更新一或兩個太小而無法保證變更 ProductVersion的檔案。 修訂編號摘要屬性中的封裝程式碼會變更。 可以隨附為完整安裝套件或 修補程式套件。 |
次要升級 | 沒有變更 | 已變更 | 進行重大變更的小型更新足以保證變更 ProductVersion 屬性。 可以隨附為完整安裝套件或 修補程式套件。 |
主要升級 | 已變更 | 已變更 | 產品的完整更新,保證 ProductCode 屬性有所變更。 隨附為 修補程式套件 或完整產品安裝套件。 |
注意
Windows Installer 可以針對每部電腦內容 () 或特定使用者 (個別使用者內容) 安裝應用程式或更新,視使用者的存取許可權、 ALLUSERS 屬性的值和作業系統版本而定。 應用程式開發人員應該考慮要安裝的內容更新。 如果應用程式和更新的內容不同,應用程式可能不會如預期般更新。
使用者可以重新安裝應用程式的 Windows Installer 套件來更新至應用程式。 請注意,次要升級的套用方式與Small 更新相同。 如需重新安裝應用程式來更新應用程式的詳細資訊,請參閱下列各節:
您可以將應用程式的更新提供給使用者做為 Windows Installer 修補程式套件。 修補程式可以包含整個檔案,或只包含更新部分檔案所需的檔案位。 這表示使用者可以下載比整個產品小得多的升級修補程式,並透過升級保留使用者自訂。 請注意,次要升級的套用方式與Small 更新相同。 如需使用修補程式更新應用程式的詳細資訊,請參閱下列各節: