Voglio estrarre un file exe. Il file exe contiene alcuni file e cartelle. Quando cerco di estrarre il file utilizzando winrar esso viene estratto, ma quando sto cercando di estrarre il file exe utilizzando alcuni esempi sto ottenendo questo errore:Il numero magico nell'intestazione GZip non è corretto. Assicurati di passare in un flusso GZip. (File exe)
The magic number in GZip header is not correct. Make sure you are passing in a GZip stream.
Ho usato alcuni campioni e googled molto per il mio problema ma non ho avuto la mia risposta, e ho anche usato alcune librerie.
Ho usato questo codice, ma lo stesso errore:
public static void Decompress(FileInfo fi)
{
// Get the stream of the source file.
using (FileStream inFile = fi.OpenRead())
{
// Get original file extension, for example
// "doc" from report.doc.gz.
string curFile = fi.FullName;
string origName = curFile.Remove(curFile.Length -
fi.Extension.Length);
//Create the decompressed file.
using (FileStream outFile = File.Create(origName))
{
using (GZipStream Decompress = new GZipStream(inFile,
CompressionMode.Decompress))
{
// Copy the decompression stream
// into the output file.
Decompress.CopyTo(outFile);
Console.WriteLine("Decompressed: {0}", fi.Name);
}
}
}
}
Questo perché il file .exe _non è un file .gzip valido, ma _ contiene uno. È un file eseguibile. Winrar è apparentemente in grado di trovare il .gzip all'interno (perché può creare un tale eseguibile, conosce il suo layout e può leggerlo). Si noti che di gran lunga non ogni file .exe è un archivio autoestraente. –
quindi cosa dovrei fare puoi darmi un esempio di codice per favore, ci sarebbe un grande apprezzamento se tu puoi aiutarmi @JanDvorak –
Vorrei poterlo fare. Potrei farti qualche ricerca ma non posso dare alcuna garanzia. –