修補和升級
因為安裝套件可以包含組成應用程式的檔案,以及其安裝所需的資訊,Windows Installer 可用來更新應用程式。 安裝程式可以更新安裝套件下列部分的資訊:
- .msi 檔案。
- 應用程式的檔案。
- Windows Installer 註冊資訊。
更新的類型可以透過更新對應用程式產品代碼、產品版本和套件程式代碼所做的變更來描述。 應用程式的產品版本會儲存在 ProductVersion 屬性中。 應用程式的產品代碼會儲存在 ProductCode 屬性中。 應用程式的 套件程式代碼 會儲存在 修訂編號摘要 屬性中。
需要一個將應用程式轉變為另一產品的更新,才能變更該應用程式的 ProductCode。 如需哪些更新需要變更 ProductCode 的詳細資訊,請參閱 變更產品代碼。 更新可以變更 ProductVersion,如果應用程式的未來版本需要區分目前產品的更新版本和非更新版本,ProductCode 保持不變。 套件程式代碼 唯一識別安裝套件,而且每當更新或升級變更安裝套件中的任何資訊時,應該一律變更。
決定是否要變更產品版本時,您應該考慮應用程式的未來版本是否需要區分目前產品的更新版本和非更新版本。 為了確保未來的差異,應該使用 次要升級,而不是 小型更新。
- 如果更新變更 .msi 檔案和應用程式檔案,但不會變更 ProductCode 屬性或 ProductVersion 屬性,則稱為 小型更新。
- 如果更新變更 ProductVersion,但不會變更 ProductCode,則稱為 次要升級。
- 如果更新將安裝變更為完全不同的產品,ProductCode 必須更改,而且此更新稱為 重大升級。
下表摘要說明不同類型的更新。
更新類型 | Productcode | 產品版本 | 描述 |
---|---|---|---|
小更新 | 沒有變更 | 沒有變更 | 更新一或兩個檔案太小,無法保證變更 ProductVersion。 修訂編號摘要中的套件程式代碼 屬性會變更。 可以作為完整安裝套件或 修補程式套件發送。 |
次要升級 | 沒有變更 | 改變 | 進行小型更新,但它已經產生足夠重要的變更,足以使得需要變更 ProductVersion 屬性。 可以作為完整安裝套件或 修補套件運送。 |
主要升級 | 已更改 | 改變 | 產品的全面更新,導致 ProductCode 屬性有所變更。 以 修補套件 或完整產品安裝包形式發送。 |
注意
Windows Installer 可以根據使用者的訪問權限、ALLUSERS 屬性和作業系統版本,為整台計算機的所有使用者(每台機器上)或特定使用者(單一使用者)安裝應用程式或更新。 應用程式開發人員應該考慮在什麼環境下安裝更新。 如果應用程式和更新的內容不同,應用程式可能不會如預期般更新。
用戶可以重新安裝應用程式的 Windows Installer 套件,以更新至應用程式。 請注意,次要升級 可以套用與 Small Updates相同的方式。 如需重新安裝應用程式以更新應用程式的詳細資訊,請參閱下列各節:
您可以將應用程式的更新提供給使用者做為 Windows Installer 修補程式套件。 修補程式可以包含整個檔案,或只包含更新部分檔案所需的檔案位。 這表示使用者可以下載比整個產品小得多的升級補丁,並透過升級保留使用者自訂設定。 請注意,次要升級 可以套用與 Small Updates相同的方式。 如需使用修補程式更新應用程式的詳細資訊,請參閱下列各節: