2

我正在使用 SevenZIP 库文件解压缩/提取 .exe 文件。当我尝试这个方法时,我得到一个错误 Cannot read that as a ZipFile& zip exception was unhanded。我不想在我的项目中使用任何 7zip.exe 控制台应用程序,并且我更喜欢在我的项目中使用 .dll 文件。

有没有其他方法可以提取 .exe 文件?

  private void MyExtract()
    {
        if(x86)
            ExtractZip(@"D:\22.1.2.702\64\953-win_x86.exe", ".");
        else
            ExtractZip(@"D:\22.1.2.702\64\.702-win_x64.exe", ".");
    }

    private void ExtractZip(string zipFile, string directory)
    {
        using (var zip1 = ZipFile.Read(zipFile))
        {
            // here, we extract every entry, but we could extract conditionally
            // based on entry name, size, date, checkbox status, etc.  
            foreach (var e in zip1)
            {
            e.Extract(directory, ExtractExistingFileAction.OverwriteSilently);
            }
        }
    }
4

2 回答 2

1

代码示例看起来您使用的是DotNetZip而不是SevenZipLib。DotNetZip 只能提取.zip文件,不能提取 7-zip 或.exe.

于 2012-07-26T09:55:47.560 回答
0

不要使用 SevenZip lib,而是在控制台中尝试 7zip.exe。使用 Process 类执行 7zip.exe。它工作完美。

于 2012-07-26T09:54:42.640 回答