I was able to find procedure using API calls for doing this before and if you dig long enough you'll find a way to do it yourself. I didn't make use of it after I found it so I don't have any information to give you other than I did find a solution. It was a tricky business though with some factors that I myself didn't understand. Also,
here is what appears to be an article from the maker or zipsharp that explains how he accomplished zipping files with the .NET framework. He used the J# installed utilities in which he describes how to use yourself. That might help you get on the right path. In the end I would suggest just going with JohnH's idea and just using the free sharpziplib. All the code is already written and it's free.