Obtención de una excepción de "No se puede leer eso como archivo zip" al intentar obtener una transmisión de un archivo zip interno (un zip en otro zip)

En C #, estoy usando elDotNetZip Tengo un zip llamado "innerZip.zip" que contiene algunos datos, y otro zip llamado "outerZip.zip" que contiene el innerZip. ¿Por qué lo estoy haciendo así? Bueno, al configurar la contraseña, la contraseña en realidad se aplica a las entradas individuales que se agregan al archivo y no a todo el archivo. Al usar este combo interno / externo, podría establecer un pase a todo el zip interno porque es una entrada del uno externo

El problema es que el código habla mejor que las palabras normales:

ZipFile outerZip = ZipFile.Read("outerZip.zip");
outerZip.Password = "VeXe";
Stream innerStream = outerZip["innerZip.zip"].OpenReader();
ZipFile innerZip = ZipFile.Read(innerStream); // I'm getting the exception here.
innerZip["Songs\\IronMaiden"].Extract(tempLocation);

¿Por qué estoy recibiendo esa excepción? el archivo interno es un archivo zip, por lo que no debería obtener esa excepción, ¿no? ¿Hay alguna forma de evitar esto o simplemente tengo que extraer el interior del exterior y luego acceder a él?

Gracias de antemano ..

Respuestas a la pregunta(1)

Su respuesta a la pregunta