本篇文章將說明什麼是 CAB 檔,如何在 Windows 或其他作業系統中開啟它,以及如何將它轉換成 EXE 及其他格式。
什麼是 CAB 檔案格式?
帶有”.CAB”副檔名的檔案,通常是 Windows 的封包(Cabinet)檔案(它們以前稱為 Diamond 檔案)。它們是壓縮檔案,儲存各種 Windows 安裝的相關資料,可能包括裝置驅動程式或系統檔案。
Microsoft Publisher 程式的出版功能可以製作帶有 PUZ 副檔名的 CAB 檔案。它包含了文件的所有內容,與 CAB 是相同的檔案格式,因此能夠以相同方式來處理它們。
InstallShield 安裝程式也可以製作出帶有 CAB 副檔名的檔案,但它們與 Windows 的封包檔案格式無關。
部分裝置也有可能會使用 CAB 副檔名來儲存韌體的檔案。
如何開啟 CAB 檔?
在 Windows 作業系統中開啟 Windows 封包檔案,將會自動將檔案以歸檔檔案來開啟,因此你可以看到裡面的內容。基本上 Windows 會將它視為資料夾,而且是自動執行,因此你不須要為 Windows 下載 CAB 開啟軟體。
然而,你也可以使用檔案解壓縮工具來開啟或擷取 CAB 檔案。使用此方法讓你可以在其他作業系統上開啟檔案,例如 macOS 或 Linux。少數的免費檔案解壓縮軟體可以使用 CAB 檔案,包括 7-Zip、PeaZip、IZArc、The Unarchiver 及 cabextract。
如果你有一個來自 Microsoft Publisher 的 PUZ 檔,你可以使用剛提到的任何檔案解壓縮器來開啟它。如果這些程式無法識別 PUZ 副檔名,可以先開啟檔案解壓縮軟體再瀏覽檔案,或是將 PUZ 副檔名變更為 .CAB 後再重試。
而 InstallShield 的 CAB 檔案與 Windows 的封包檔案不同,但它們可以使用 unshield 來解壓縮。
如果你仍然無法開啟檔案,你有可能是把它與相似的副檔名搞錯了,像是 CBA、CAA 或 ABC。
在 Windows 中安裝 CAB 檔案?
如果你有一個 CAB 格式的離線、已下載的 Windows 更新檔案,另一種安裝它的方法是透過命令提示字元。輸入下列指令,將 CAB 檔的路徑(引號內)取代為你正在使用的 CAB 檔路徑:
dism /online /add-package/packagepath:"C:filescabname.cab"
在你寫好完整的指令之前,不要按下「Enter」。不論你在上面的指令中看到多少空格,你寫完整個指令後,最後再新增空格。
你不應該使用 DISM 指令來安裝語言套件,而是使用 lpksetup.exe 工具,如下:
- 使用「Win+R」快捷鍵來開啟「執行」的對話框。
- 輸入「lpksetup」(第一個字母為小寫L)。
- 選擇「安裝顯示語言」(Install display languages)。
- 選取「瀏覽」(Browse)來指定並選擇 CAB 檔。
- 選擇「下一步」(Next)。
- 等待整個程序完成。可能會花一些時間。
- 當「程序」(Progress)顯示「完成」(Completed),你可以關閉「安裝顯示語言」(Installing display languages)的視窗。
若要在 Windows 10 中切換為新語言,開啟「設定」,移至「時間與語言」,並在左側選擇「語言」。若是較舊版本的 Windows,請使用「控制台」>「時間、語言和地區」>「語言」。最後,選擇你想要使用的語言,若有顯示任何指示,就遵循指示操作即可。
如何轉換 CAB 檔?
據了解目前沒有任何檔案轉換程式能夠完美的將 CAB 轉換成 MSI。然而,你或許能在 Flexera Community 中找到來自其他 InstallShield 使用者的幫助,不過會需要基本的英文溝通能力。
WSP 檔案是 Microsoft SharePoint 使用的 SharePoint 方案套件的檔案,並以 CAB 格式壓縮。你可以將 WSP 檔案重新命名為 CAB,然後像打開 Windows 的封包檔案一樣打開它。
你可以使用 IExpress 精靈將 CAB 轉換成 EXE,這個工具包含在 Windows 系統中。使用「Win+R」快捷鍵來開啟「執行」的對話框,接著輸入「iexpress」。
如果你需要將 CAB 轉換成 KDZ,以取得正確格式的 Android 韌體檔案,可參考 BOYCRACKED 中的指示。
關於 CAB 格式的更多資訊
Windows 可能會使用 DEFLATE(像大部分的 ZIP 檔案)、Quantum 或 LZX 來壓縮 CAB 檔,因為該格式支援這三種壓縮演算法。
每一個 CAB 歸檔檔案是作為一個整體來壓縮,而非個別壓縮每一個檔案。CAB 歸檔檔案最多可以容納65,535個 CAB 資料夾,而每個資料夾可以容納相同數量的檔案。
當安裝程式實際使用 CAB 檔時,其包含的檔案是根據需求,並按照儲存的順序來擷取。
只要不超過15個檔案橫跨至下一個 CAB 檔,一個大檔案可以做成多個 CAB 檔案。這代表一個 CAB 檔中你最多可以有15個檔案橫跨至下一個 CAB 檔案系列,而這個系列甚至最多可以有15個。
CAB 檔案是以首行的四個位元來辨識。如果你使用文字編輯器將 CAB 檔作為文字檔來開啟,你將會看到首行四個字母為「MSCF」。
你可以使用 makecab.exe 來製作 CAB 檔,它包含在 Windows 系統中。在命令字元中執行如下列的指令,能夠將檔案壓縮為 CAB 壓縮檔:
makecab.exe C:filesprogram.jpg C:filesprogram.cab
你可以從 Microsoft Windows 開發人員中心閱讀更多關於 Windows 的封包檔案格式的資訊。
可以刪除 CAB 檔案嗎?
當你在一個資料夾中看到數十個,甚至是數百個 CAB 檔案,你可能會很想要將它們從你的電腦中刪除。決定這麼做之前,極為重要的是要了解 CAB 檔案放在哪裡,以及它們是否重要。
例如,system32 資料夾中的 CAB 檔案無論如何都應該要保留。試著分辨哪些是重要的檔案可能會非常混亂,而且錯誤的決定可能會造成日後的問題,因為 Windows 可能需要你刪除的 CAB 檔來修復損壞的檔案。
然而,與 iTunes、DirectX 或其他第三方程式相關的 CAB 檔案或許能夠安全地刪除,而不會造成系統損害,但它們有可能會使程式停止運作或妨礙特定任務的執行。
如果刪除了 CAB 檔之後程式停止運作,只要修復它或是重新安裝程式,但這類型的檔案很有可能只是暫存檔而已。
由於 CAB 檔案的性質,很常在程式的安裝檔案中看到它們。例如,Microsoft Office 安裝程式包括數個 CAB 檔案,其中有一些檔案相當大。如果移除了它們,將會破壞安裝程式,而你將無法使用這些安裝檔案來安裝 MS Office。
部份軟體在安裝更新,或進行一些其他系統相關的任務時,會將 cab_xxxx 檔案儲存至 C:WindowsTempfolder。除非你的電腦正在進行更新或安裝軟體(因為有可能會在此時使用它們),否則刪除放在此位置的 CAB 檔案絕對很安全。
如果你因為它們不斷地重新產生而無法刪除它們(例如:C:WindowsLogsCBSfolder 持續製作 LOG 和 CAB 檔案),試試看刪除資料夾中最舊的 LOG 檔(或是全部),然後從C:WindowsTemp移除所有 CAB 檔。
關於 CAB 檔的常見問題
1. 開啟 CAB 檔會很危險嗎?
有時候可能會有危險,與大多數檔案類型一樣,CAB 檔可能也會包含病毒,因此在執行或開啟檔案之前,先使用防毒軟體掃描檔案。
2. 如何修復損壞的 CAB 檔?
首先,執行防毒軟體來清除任何惡意程式。 如果還是不能解決問題,可以改為使用 Advanced CAB Repair 之類的工具。
3. 解壓 Windows CAB 檔的指令是什麼?
dism /online /add-package/packagepath:"C:filescabname.cab"
打開命令提示字元,輸入上面的指令,需要自行將 C:filescabname.cab 替換為正確的檔案路徑。此外,必須以系統管理員身份登入才能使用這個指令。