什麼是檔案櫃檔案(cabinet files)?概念、運作方式
什麼是檔案櫃檔案(cabinet files)?
檔案櫃檔案是副檔名為 .cab 的檔案,用於儲存壓縮文件,通常用於分發軟體。文件櫃文件可以包含多個處於壓縮狀態的文件,或者單個壓縮文件可以分佈在多個文件櫃文件上。
檔案櫃檔案
在安裝軟體期間,安裝程式會解壓縮機櫃檔案並將產生的檔案複製到使用者的系統。
檔案櫃檔案可以使用稱為 Authenticode 的 Microsoft 技術進行數位簽署。這允許透過不受信任的網路(例如網際網路)安全地下載安裝檔案。
使用一種稱為 MSZIP 的壓縮算法對文件進行壓縮,該算法基於 Lempel-Ziv 算法。
開發人員可以使用Makecab.exe等機櫃檔案建立工具來製作機櫃檔案以與安裝程式套件一起使用。Makecab.exe 公用程式包含在適用於 Windows Installer 開發人員的 Windows SDK 元件中。
開發人員也可以使用機櫃檔案建立工具 (例如 Cabarc.exe) 來製作機櫃檔案,以與安裝程式套件搭配使用。此工具會寫入 Diamond 機櫃結構。
儲存在文件櫃檔案內的檔案的檔案索引鍵必須符合「檔案」表格的「檔案」欄中的項目,且檔案櫃中的檔案順序必須符合「順序」欄中指定的檔案順序。如需詳細資訊,請參閱使用檔案櫃和壓縮來源。
大型檔案可以在兩個或多個內閣檔案之間分割。任何一個檔案櫃檔案中,跨越下一個檔案櫃檔案的檔案不得超過 15 個檔案。例如,如果您有三個檔案櫃檔案,則第一個檔案櫃可以有 15 個檔案跨越到第二個檔案櫃檔案,第二個檔案櫃檔案可以有 15 個檔案跨越到第三個檔案櫃檔案。
安裝程式會根據安裝需要從機櫃中擷取檔案,並按照儲存在機櫃檔案中的相同順序進行安裝。安裝儲存在機櫃中的檔案的空間需求與安裝未壓縮檔案的空間需求沒有什麼不同。
檔案櫃檔案可以位於.msi檔案的內部或外部。從在 Windows 7 或 Windows Server 2008 R2 上執行的 Windows Installer 5.0 開始,安裝程式會在快取安裝套件之前,先儲存內嵌在 .msi 檔案中的任何機櫃。
Windows Installer 4.5 或更早版本:為了節省磁碟空間,安裝程式一律會先移除內嵌在.msi檔案中的任何機櫃,然後再將安裝套件快取到使用者的電腦上。