Scaricare lo standalone console version from 7zip.com e aggiungerlo al progetto.
avete bisogno di quei 3 file aggiunti al progetto:
- 7za.exe
- 7za.dll
- 7zxa.dll
Non dimenticare di dire Copia uscita Directory nelle sue preferenze.
estratto un archivio:
public void ExtractFile(string sourceArchive, string destination)
{
string zPath = "7za.exe"; //add to proj and set CopyToOuputDir
try
{
ProcessStartInfo pro = new ProcessStartInfo();
pro.WindowStyle = ProcessWindowStyle.Hidden;
pro.FileName = zPath;
pro.Arguments = string.Format("x \"{0}\" -y -o\"{1}\"", sourceArchive, destination);
Process x = Process.Start(pro);
x.WaitForExit();
}
catch (System.Exception Ex) {
//handle error
}
}
creare un archivio:
public void CreateZip(string sourceName, string targetArchive)
{
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = "7za.exe";
p.Arguments = string.Format("a -tgzip \"{0}\" \"{1}\" -mx=9", targetArchive, sourceName);
p.WindowStyle = ProcessWindowStyle.Hidden;
Process x = Process.Start(p);
x.WaitForExit();
}
fonte
2014-09-11 11:58:27
Avete già provato [DotNetZip] (http://dotnetzip.codeplex.com/)? – Oliver
Supporta 7z? – CodesInChaos
http://dotnetzip.codeplex.com/workitem/14034 –