In case this is still of interest: I had a similar problem where I wanted to automate zipping files and Powershell and the zip-command from the context menu gave different results. this project on CodeProject really helped me. The goal is to hide the progress window while zipping, but it explanes really well how to use the win32 API to do the zipping.