سلام.
معمولا این برنامه ها یک فایل کوچکی دارن برای زیپ و آنزیپ کردن که می تونید خود اون فایل رو به همراه پروژه منتشر کنید و با استفاده از دستوراتی مثل ShellExecute یا مشابه اون، ازشون استفاده کنید.
در غیر این صورت بگردید در سایت سازنده و ببینید آیا API یا چیزی مشابه اون مثلا OCX یا چیز دیگه ای در اختیارتون می گذاره یا نه.
در خصوص WinRar یک فایل 500 کیلوبایتی داره به نام Rar.exe که می تونید ازش استفاده کنید.
برنامه 7zip هم یک فایل 160 کیلویی داره به نام 7z.exe
خوندن اینجا هم خالی از لطف نیست:
http://www.7-zip.org/sdk.html
در خصوص 7zip و سایر برنامه ها بهترین راه خوندن هلپ هاشونه، برای مثال در کامندپرامپت فایل 7z رو باز کنید ببینید بهتون چی میگه:
7-Zip 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
[<@listfiles...>]
<Commands>
a: Add files to archive
b: Benchmark
d: Delete files from archive
e: Extract files from archive (without using directory names)
l: List contents of archive
t: Test integrity of archive
u: Update files to archive
x: eXtract files with full paths
<Switches>
-ai[r[-|0]]{@listfile|!wildcard}: Include archives
-ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
-bd: Disable percentage indicator
-i[r[-|0]]{@listfile|!wildcard}: Include filenames
-m{Parameters}: set compression Method
-o{Directory}: set Output directory
-p{Password}: set Password
-r[-|0]: Recurse subdirectories
-scs{UTF-8 | WIN | DOS}: set charset for list files
-sfx[{name}]: Create SFX archive
-si[{name}]: read data from stdin
-slt: show technical information for l (List) command
-so: write data to stdout
-ssc[-]: set sensitive case mode
-ssw: compress shared files
-t{Type}: Set type of archive
-u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
-v{Size}[b|k|m|g]: Create volumes
-w[{path}]: assign Work directory. Empty path means a temporary directory
-x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
-y: assume Yes on all queries