I am trying to programatically unzip a zipped file.
I have tried using the System.IO.Compression.GZipStream
class in .NET, but when my app runs (actually a unit test) I get this exception:
System.IO.InvalidDataException: The magic number in GZip header is not correct. Make sure you are passing in a GZip stream..
I now realize that a .zip
file is not the same as a .gz
file, and that GZip
is not the same as Zip
.
However, since I’m able to extract the file by manually double clicking the zipped file and then clicking the “Extract all files”-button, I think there should be a way of doing that in code as well.
Therefore I’ve tried to use Process.Start()
with the path to the zipped file as input. This causes my app to open a Window showing the contents in the zipped file. That’s all fine, but the app will be installed on a server with none around to click the “Extract all files”-button.
So, how do I get my app to extract the files in the zipped files?
Or is there another way to do it? I prefer doing it in code, without downloading any third party libraries or apps; the security department ain’t too fancy about that…