I finally got it. If the path contains a zip, The library cant read from the path, so I converted the inner zip file to stream and then use another overloaded method to extract the content of the inner zip file recurssively. I modified the archive path as follows
else if (FileNames[i].ToLower().EndsWith(SupportedArchiveFormats[x].ToString()))
{
ms = new MemoryStream();
Extractor.ExtractFile(FileNames[i], ms);
ms.Position = 0;
SevenZipExtractor Extractor2;
string[] files = RawFileExtractorStream(ms, out Extractor2);
ImagesAsBytes.AddRange(FilesToBytesExtarctor(Extractor2, files, out InfoTxt)); //recurrsive: call function within its self
}
Then I created an overloaded method for the stream
private String[] RawFileExtractorStream(Stream file, out SevenZipExtractor Extractor)
{
Extractor = new SevenZipExtractor(file);
String[] FileNames = Extractor.ArchiveFileNames.ToArray();
Array.Sort(FileNames);
return FileNames;
}