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

コードサンプルは、SevenZipLib ではなくDotNetZipを使用しているようです。DotNetZip はファイルのみを抽出でき、7-zip や..zip.exe

于 2012-07-26T09:55:47.560 に答える
0

SevenZip lib を使用する代わりに、コンソールで 7zip.exe を試してください。Process クラスを使用して 7zip.exe を実行します。それは完璧に機能します。

于 2012-07-26T09:54:42.640 に答える