You have a few options
1. Use Shell.Application
You can call out to the Shell. In VBScript it looks like this:
dim sa
set sa = CreateObject("Shell.Application")
Dim zip
Set zip = sa.NameSpace(pathToZipFile)
Dim d
Set d = sa.NameSpace(dirToZip)
For Each s In d.items
WScript.Echo s
Next
' http://msdn.microsoft.com/en-us/library/bb787866(VS.85).aspx
' ===============================================================
' 2nd arg is a bit field:
' 4 = do not display a progress box
' 16 = Respond with "Yes to All" for any dialog box that is displayed.
' 128 = Perform the operation on files only if a wildcard file name (*.*) is specified.
' 256 = Display a progress dialog box but do not show the file names.
' 2048 = Version 4.71. Do not copy the security attributes of the file.
' 4096 = Only operate in the local directory. Don't operate recursively into subdirectories.
WScript.Echo "copying files..."
zip.CopyHere d.items, 4
' CopyHere is asynchronous. Gotta wait til it's done.
sLoop = 0
Do Until d.Items.Count <= zip.Items.Count
Wscript.Sleep(1000)
Loop
I don't know if this is accessible from managed code, but I would guess so. It feels sort of hacky to me though.
Also, you need to pre-initialize the zipfile before adding things to it:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim file
Set file = fso.CreateTextFile(pathToZipFile)
file.Write Chr(80) & Chr(75) & Chr(5) & Chr(6) & String(18, 0)
file.Close
Set fso = Nothing
Set file = Nothing
2. Implement it yourself
If you don't want to use Shell.Application, in theory you could create your own zip class implementation without too much trouble, especially if you have limited requirements. The zip format is not super complicated, if you don't implement encryption, zip64, Unicode, high-resolution timestamps, streaming, and so on...
3. Do the legal review, and Re-Use
Rather than spending engineering time developing a new implementation, investigate the implementations that are out there now. Some people worry about the GPL with SharpZipLib. DotNetZip is released under the Microsoft Public License, very permissive and no viral terms.