常見問題(FAQ)

普通用戶常見問題

商業機構可否使用 7-Zip?

可以。7-Zip 是免費軟體,您可在任何計算機上使用,並且不須註冊軟體或支付軟體使用費。

如何於 Windows 7 及 Windows Vista 設定檔案關聯?

您必須以系統管理員身分執行 7-Zip 檔案管理員。首先右擊 7-Zip 檔案管理員的圖示,然後點擊以系統管理員身分執行,往後您就可以改變檔案關聯設定及另外一些選項。

為甚麼無法對某些壓縮檔進行加入、刪除、更新等操作?

對於以緊密壓縮方法製成的 .7z 壓縮檔,現時的 7-Zip 版本無法執行部分操作。使用命令行介面時,您可以利用 -ms=off 關掉緊密壓縮模式。最新的 7-Zip beta 測試版已能對「緊密」壓縮檔執行所有操作。

為甚麼使用命令行介面時無法增加沒有副檔名的檔案到一個壓縮檔?

您大概是用了 *.* 通配符。7-Zip 並不使用作業系統的通配符語法分析器,故此視 *.* 為任何有副檔名的檔案。如要 7-Zip 處理所有檔案,您必須使用 * 通配符,或完全不用通配符。

為甚麼 7-Zip 不能開啟某些 ZIP 壓縮檔?

百分之九十九的情況是因為這些壓縮檔的文件頭有錯誤。別的 ZIP 程式能夠開啟某些文件頭有錯誤的壓縮檔,原因是這些程式忽略遇到的錯誤。

如您有類似的壓縮檔,不用向 7-Zip 的程式設計員查詢。請嘗試找出製作這個壓縮檔的程式,並通知它的程式設計員它不兼容 ZIP 格式。

除此之外,某些 ZIP 壓縮檔以 7-Zip 不支援的方法編碼,這些方法包括 PPMd(WinZip)及 WAVPack(WinZip)。

為甚麼 7-Zip 無法於 32 位微軟視窗使用大的字典?

32 位微軟視窗只能分配 2GB 的虛擬空間給每一應用程式,而且那 2GB 空間可能不連續(例如被一些 DLL 檔案區間),故此 7-Zip 不能得到一大段連續的虛擬空間。64 位微軟視窗沒有這個限制,要是您有足夠的記憶體,您可使用任何大小的字典。

如何以安靜模式安裝 7-Zip?

您可利用 "/S" 參數指定以安靜模式安裝,並使用 "/D=dir" 參數指定安裝至哪個資料夾。這些參數是區分大小寫的。7-Zip 使用 Nullsoft 開發的 NSIS 安裝軟體。

程式開發人員常見問題

使用 Visual C++ 6.0 編譯 7-Zip 或 LZMA 軟體開發套件時,為甚麼會出現連結錯誤?

要編譯原始碼,您需要 Visual C++ 6.0 或更新版本,編譯部分檔案更需要 microsoft.com 新版本的 Platform SDK:

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm or http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

如您使用 MSVC,您可到 "Tools / Options / Directories",然後在 "Include files" 及 "Library files" 兩個資料夾清單上方指定 SDK 資料夾的位置。

由於最新版本的 Platform SDK 不兼容 MSVC6,故此 MSVC6 必須使用 Windows Server 2003 PSDK(2003 年 2 月)版本。

我可否在商業應用程式中使用 7-Zip 的 EXE 或 DLL 檔案?

可以,但您必須在程式文件中註明 (1) 您使用了 7-Zip 程式的部件,(2) 7-Zip 採用 GNU LGPL 許可證,及 (3) 您必須鏈接到 www.7-zip.org,亦即可找到原始碼的地方。

如何使我的應用程式支援 7z 壓縮檔?

其中一個方法是利用 7z.dll 或 7za.dll(可從 sf.net 下載)。7za.dll 以 COM 介面運作,但它不使用標準 COM 介面來建立物件。原始碼中的 "CPP\7zip\UI\Client7z" 資料夾有一個小的程式範例。如要完整範例,請參考 7-Zip 本身,因為 7-Zip 也是利用這個 dll 檔案來運作。其他使用 7za.dll 的應用程式有 WinRAR、PowerArchiver 等等。

另一個方法是使用命令行介面的執行檔 7za.exe。

我可否在商業應用程式中使用 7-Zip 的原始碼?

由於 7-Zip 以 GNU LGPL 許可證發布,故此您必須遵從這個許可證的條款。簡言之,任何以 LGPL 許可證發布的原始碼往後必須繼續採用 LGPL 許可證,例如您可修改 7-Zip 的原始碼或編寫一個包裝程序封裝某些 7-Zip 原始碼,然後把它們編譯成一個 DLL 檔案,但是此 DLL 檔案的原始碼(包括您做的修改、增添、包裝程序)必須採用 LGPL 或 GPL 許可證,而您的應用程式的其他原始碼則可以採用您自行選擇的許可證。此方案容許普通用戶及程式開發人員修改採用了 LGPL 許可證的原始碼及重新編譯那個 DLL 檔案,這就是自由軟體的概念。詳情請參閱 http://www.gnu.org/。 另外您亦可能有興趣了解一下 LZMA 軟體開發套件,它採用一個較為寬鬆的許可證。


Copyright (C) 2013 Igor Pavlov.
Chinese translation by DevelopersHome.com.