私はSevenZipSharpを調べて、自己解凍型のzipファイルを作成しています。プロジェクトページには、これを行う特別なクラスSevenZipSfxがあると書かれています。ただし、オブジェクトエクスプローラーとドキュメントでバージョン0.64を検索しましたが、それへの参照が見つかりません。
クラスが欠落しているかどうか、または私が欠落している「特別クラス」とは異なる意味があるかどうかを誰かが知っていますか?
私はSevenZipSharpを調べて、自己解凍型のzipファイルを作成しています。プロジェクトページには、これを行う特別なクラスSevenZipSfxがあると書かれています。ただし、オブジェクトエクスプローラーとドキュメントでバージョン0.64を検索しましたが、それへの参照が見つかりません。
クラスが欠落しているかどうか、または私が欠落している「特別クラス」とは異なる意味があるかどうかを誰かが知っていますか?
Sfxクラスはデフォルトではビルドされていないようです。Codeplexからソースコードを取得し(またはトランクコードをチェックアウトしSFX
) 、プロジェクト設定に条件付きコンパイル定数を追加して再構築します。迷惑なことに、署名はソース管理にないため、アセンブリのコード署名を無効にする必要があります。
または、これが1回限りのSFXである場合は、SevenZip\sfxディレクトリ内のファイルを使用して自分でビルドできます。SevenZipSfxソースを見ると、アセンブリリソースから取得したファイルの1つを.7zアーカイブに追加するだけであることがわかります。
このコードは私のために機能し、次のファイルを含むディレクトリをパックします。
string destination = @"c:\my test.7z";
string pathToZip = @"C:\Program Files\7-Zip\7z.exe";
string directoryPath = @"c:\my test";
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = pathToZip;
p.Arguments = string.Format("a -mx=9 \"{0}\" \"{1}\" -sfx", destination, directoryPath);
Process x = Process.Start(p);
99.9%の仕事