Saludos...
Nuevamente molestando...
Estoy usando las librerias para zipear archivos...
ICSharpCode.SharpZipLib.Zip;
ICSharpCode.SharpZipLib.Checksums;
En una aplicacion C# lo unico que quiero es compactar un par de archivos PDF con un .zip con contraseña... cosa que ya realizo sin ningun problema...
Mi duda es por que al querer descompactar el .zip por medio de la forma habitual es decir... click derecha del raton "extraer aqui..." y obviamente teclear al contraseña previamente definida... se queda bloqueado el archivo... es decir.... no permite el extracion... claro esta... la contraseña es correcta.
Adjunto la funcion del zip....
public void Comprimir(string[] fileNames, string zipFic, string password)
{
// comprimir los ficheros del array en el zip indicado
Crc32 objCrc32 = new Crc32();
ZipOutputStream strmZipOutputStream;
strmZipOutputStream = new ZipOutputStream(File.Create(zipFic));
strmZipOutputStream.SetLevel(1);
//Asignamos la contraseña
if (password != null && password != String.Empty)
strmZipOutputStream.Password = password;
strmZipOutputStream.SetLevel(6);
//
foreach (string strFile in fileNames)
{
FileStream strmFile = File.OpenRead(strFile);
byte[] abyBuffer = new byte[(Convert.ToInt32(strmFile.Length))];
//
strmFile.Read(abyBuffer, 0, abyBuffer.Length);
string sFile = Path.GetFileName(strFile);
ZipEntry theEntry = new ZipEntry(sFile);
// guardar la fecha y hora de la última modificación
FileInfo fi = new FileInfo(strFile);
theEntry.DateTime = fi.LastWriteTime;
//
theEntry.Size = strmFile.Length;
theEntry.IsCrypted = false;
strmFile.Close();
objCrc32.Reset();
objCrc32.Update(abyBuffer);
theEntry.Crc = objCrc32.Value;
strmZipOutputStream.PutNextEntry(theEntry);
strmZipOutputStream.Write(abyBuffer, 0, abyBuffer.Length);
}
strmZipOutputStream.Finish();
strmZipOutputStream.Close();
}
Espero puedan auxiliarme...
Que tengas buen día....