I use something like this
Process unzip = new Process();
unzip.StartInfo.FileName = "C:\\gzip.exe";
unzip.StartInfo.Arguments = "-d C:\\file.gz"; '-d for decompress
unzip.Start();
unzip.WaitForExit();
int UnzipInfo = unzip.ExitCode;
gzip.exe doesn't compress folders only files, but maybe winzip32.exe does, you should give it a try