常见问题解答(FAQ)

用户常见问题解答

我能否使用 7-Zip 用于商业用途?

可以,7-Zip 是免费软件。您可以在任何电脑上使用它,您不需要对 7-Zip 进行捐赠或付钱。

为何在现有的压缩档案中无法进行添加、删除、更新等操作?

当前版本的 7-Zip 无法在固实的 .7z 压缩档案中执行此类操作。

关于 ACE 格式的支持

如果 ACE 格式的源代码可用,并且允许我们使用此源代码,那么对于 ACE 格式的支持在不久之后实现。 而原 ACE 程序中的 Unace.dll 与 7-Zip 的界面并不兼容(Unace.dll 对文件进行操作,而 7-Zip 仅对数据流进行操作)。所以 7-Zip 无法直接使用 Unace.dll。

为什么在命令行版本中无法添加没有扩展名的文件?

您大概是使用了 *.* 通配符。7-Zip 使用的并不是系统处理通配符的默认方法,因而 7-Zip 不支持其它通配符规则,在系统中 *.* 相当于所有文件。而 7-Zip 会将其视为任何扩展名的全部文件。所以,要处理所有文件您必须使用 * 通配符。

为何 7-Zip 无法打开部分 ZIP 压缩档案?

绝大多数是因为改压缩档案的文件头错误。ZIP 压缩档案包含两个文件头,7-Zip 对两个文件头都进行读取,如果其中任意一个包含错误数据,7-Zip 就不会打开它。而其它支持 ZIP 格式的程序能够打开部分有错误的压缩档案,因为那些程序通常只读取一分文件头,或者程序将错误的数据忽略。

所以,如果您有类似的压缩档案,请不要向 7-Zip 技术支持询问其原因。您最好试着找到创建此压缩档案的原程序,并向他们的技术支持发送错误报告,来告知它与 ZIP 格式不完全兼容。

然而,目前还有一种 ZIP 的扩展格式,它支持 AES 加密。7-Zip 还不支持此类压缩档案。但将在以后实现。

为何 7-Zip 无法打开部分 ZIP 自释放压缩档案?

目前 ZIP 格式的自释放有两个版本。而现在 7-Zip 只支持其中的一种。

如何使用安静模式安装 7-Zip?

/S 用于安静模式安装;/D=dir,为指定的“输出目录”。7-Zip 现在使用的是 NSIS 安装程序。

开发者常见问题解答

为何我在使用 Visual C++ 6.0 编译 7-Zip 或 LZMA SDK 时会出现链接错误?

编译这些源代码您需要 Visual C++ 6.0 或更高版本。并且编译其中的部分文件时您同样需要从 Microsoft.com 下载最新的 Platform SDK:

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

如果您使用 MSVC6,请在目录列表上方的“包括文件”及“工具 / 选项 / 目录”中的“库文件”中指定 SDK 目录。

最新的 Platform SDK 与 MSVC6 不兼容。所以您必须使用 Windows Server 2003 PSDK(2003 二月)。

我能否使用 7-Zip 中的 EXE 或 DLL 文件用于商业用途?

可以,但是如果这样的话您必须在文档中注明您使用了 7-Zip 程序的某部分文件、7-Zip 发布于 GNU LGPL 协议、并且链接到 www.7-zip.org、能够找到 7-Zip 的源代码。

如何在我的程序中添加对 7z 格式的支持?

一种方法是使用 7za.dll(可到 sf.net 站点下载)。7za.dll 通过 COM 接口工作。但是它并没有使用标准的 COM 接口。您可以在源代码中找到一些例子。完整的例子就是 7-Zip 本身,7-Zip 本身就通过此 dll 允许。目前还有一些其它的应用程序使用了 7za.dll:WinRAR、PowerArchiver 等等。

其它的方法是调用命令行版本 7za.exe。

我能否在商业应用程序中使用 7-Zip 源代码?

7-Zip 基于 GNU LGPL 许可发布。所以您必须遵守此许可中的条款。简单的说,那意味着任何 LGPL 的代码必须在 LGPL 许可中保持完整性。例如,您可以更改 7-Zip 源代码,并且将它们编译成 DLL。但是这些更改后的 DLL 的源代码(包括您更改、增加、删除的内容)必须遵守 LGPL 或 GPL 许可。您的应用程序的其它源代码可以是属于任何许可的。 像设想允许用户及开发者更改基于 LGPL 发布的代码并重编成 DLL。请到 http://www.gnu.org/ 了解更多信息。同样请参考 LZMA SDK 来了解更多高自由度的许可。


Copyright © 2008 Igor Pavlov.
Chinese Simplified Update: Sparanoid