如果元件規則中斷,會發生什麼事?

在某些情況下,作者可能會決定必須中斷建立元件的規則,如 將應用程式組織成元件變更元件程式碼中所述。 作者必須注意執行這項作業的可能結果,否則必須保證其元件永遠不會安裝,而無法在其系統上損毀其他應用程式或元件。

下列清單描述作者有時會中斷建議元件規則和可能結果的方式。

作者會將資源新增至元件,而不需要變更元件程式碼。

  • 隨舊元件一起安裝的產品,在其安裝資料庫中沒有新增資源的相關資訊。
  • 如果已安裝已新增資源和舊產品的新產品都安裝在同一部電腦上,則如果先卸載新產品,就可以留下資源。
  • 沒有新增資源的舊產品無法修復較新版本的元件。 重新安裝舊產品並不會還原新增的資源。

作者會從元件中移除資源,而不需變更元件程式碼。

  • 隨新元件一起安裝的產品,在其安裝資料庫中沒有已移除資源的相關資訊。
  • 如果舊產品、資源資訊及新產品都安裝在同一部電腦上,則如果先卸載舊產品,就可以留下資源。
  • 具有已移除資源的新產品無法修復舊版的產品。 重新安裝新產品並不會還原移除的資源。

作者包含與舊版不相容的檔案,而不需要變更元件程式碼。

如果元件中包含不相容的檔案而不變更元件程式碼, 預設檔案版本設定 會導致安裝程式以較新的不相容檔案覆寫原始檔案。 這可能會損毀需要原始檔案的舊產品。 它也可能會防止安裝程式修復舊產品,因為元件的金鑰路徑檔案版本會決定元件的版本。 如果已安裝較新版本的金鑰路徑檔案,安裝程式不會安裝舊版的元件。 如需詳細資訊,請參閱 檔案版本控制規則。 在此情況下,必須先移除新產品,才能重新安裝舊產品。

  • 預設檔案版本設定 會導致安裝程式以較新的不相容檔案覆寫原始檔案。
  • 需要原始檔案的舊產品已損毀。
  • 它也可能會防止安裝程式修復舊產品,因為元件的金鑰路徑檔案版本會決定元件的版本。 如果已安裝較新版本的金鑰路徑檔案,安裝程式就不會安裝舊版的元件。 如需詳細資訊,請參閱 檔案版本控制規則。 在此情況下,必須先移除新產品,才能重新安裝舊產品。

作者在兩個不同的元件中包含相同的資源。

如果兩個元件具有相同名稱和位置的資源,而且這兩個元件都安裝在相同的資料夾中,則移除任一元件會移除通用資源,這會損害其餘元件。

  • 卸載任一元件會移除資源,並中斷其他元件。
  • 元件參考計數機制已損毀。