檔案版本設定規則

任何安裝程式的核心是檔案的實際安裝。 判斷是否要安裝檔案是複雜的程式。 在最高層級,此判斷取決於檔案所屬的元件是否標示為安裝。 一旦判斷應該複製檔案,如果目的檔案夾中有另一個具有相同名稱的檔案,此程式就會很複雜。 在這種情況下,進行判斷需要一組涉及下列屬性的規則:

  • 版本
  • Date
  • 語言

安裝程式只有在嘗試將檔案安裝到已經包含相同名稱檔案的位置時,才會使用這些規則。 在此情況下,Windows Installer 會使用下列規則,所有其他專案都相等,以判斷是否要安裝。

最高版本 Wins - 所有其他專案都相等,即使電腦上的檔案具有最高版本,仍會優先使用檔案。

已建立版本的檔案 -- 版本設定的檔案會透過非版本檔案安裝。

偏好產品語言: 如果安裝的檔案與電腦上的檔案語言不同,請偏好具有符合所安裝產品之語言的檔案。 語言中性檔案會被視為另一種語言,因此再次支援安裝的產品。

不相符的多種語言—在分解所安裝檔案與電腦上檔案之間的任何通用語言之後,會根據所安裝產品所需的內容,偏好使用其餘語言。

保留超集合語言— 保留支援多種語言的檔案,不論它是否已在電腦上安裝或正在安裝。

非反轉的檔案是使用者資料—如果修改日期晚于電腦上的檔案建立日期,請勿安裝檔案,因為會刪除使用者自訂專案。 如果 [修改] 和 [建立] 日期相同,請安裝檔案。 如果建立日期晚于修改日期,則會將檔案視為未修改,請安裝檔案。

隨附檔案的安裝不取決於自己的檔案版本設定資訊,而是取決於其隨附父系的版本設定。 在隨附檔案的情況下,只有在父檔案具有較高的版本時,才會略過安裝。 請注意,其元件索引鍵路徑的檔案不得為隨附檔案,因為這會導致附屬父檔案所決定之金鑰路徑檔案的版本設定邏輯。

使用 隨附檔案使用隨附檔案的非反轉檔案,使用隨附機制與版本化檔案相關聯的非反轉檔案會遵守已建立版本檔案的規則。 唯一的例外是,如果電腦上的版本檔案和所安裝的版本檔案具有相同的版本和語言,但電腦上遺漏隨附檔案。 在此情況下,即使使用電腦上已建立版本的檔案,仍會使用所安裝的隨附檔案。 此外,如果 REINSTALLMODE 屬性包含覆寫舊版選項, (「o」 或 「e」) 且隨附檔案的版本等於電腦上已有的檔案,則會安裝使用隨附檔案的非反轉檔案。

規則為全域—用來判斷何時安裝檔案的規則位於安裝程式內的某個位置,而且是全域的,這表示它們同樣適用于所有檔案。

如需用於檔案版本之格式的範例,請參閱 Version 資料類型。 如需更具體的資訊,請參閱 取代現有檔案預設檔案版本設定