public string GetPackageNameFromZip(string fullpathpackagefilename, out string packageversion)
{
string packagename = string.Empty;
packageversion = string.Empty;//to get the version
FileStream fileStreamIn = new FileStream(fullpathpackagefilename, FileMode.Open, FileAccess.Read);
ZipInputStream zipInStream = new ZipInputStream(fileStreamIn);
ZipEntry entry = zipInStream.GetNextEntry();
string tempDir = Path.GetTempPath().Replace("\\", "/");
StringBuilder path = new StringBuilder(tempDir);
path.Append("DESCRIPTION");
FileStream fileStreamOut = null;
bool isFileExtracted = false;
//Extract the file
while (entry != null)
{
if (entry.Name.EndsWith("DESCRIPTION"))
{
fileStreamOut = new FileStream(path.ToString(), FileMode.Create, FileAccess.Write);
int size;
byte[] buffer = new byte[1024];
do
{
size = zipInStream.Read(buffer, 0, buffer.Length);
fileStreamOut.Write(buffer, 0, size);
} while (size > 0);
fileStreamOut.Close();
isFileExtracted = true;
break;
}
entry = zipInStream.GetNextEntry();
}
zipInStream.Close();
fileStreamIn.Close();
//Read Line by line
if (isFileExtracted)
{
string line;
System.IO.StreamReader file = new System.IO.StreamReader(path.ToString());
while ((line = file.ReadLine()) != null)
{
if (line.Contains("Package:"))
{
packagename = line.Replace("Package:", string.Empty).Trim();
//break;
}
if (line.Contains("Version:"))
{
packageversion = line.Replace("Version:", string.Empty).Trim();
break;
}
}
file.Close();
}
return packagename;
}