Для создания архивов в C# самый простой способ — это использовать специальную библиотеку «DotNetZip». Библиотека имеет очень большой функционал, и позволяет делать настоящие чудеса, но при этом очень проста в использовании, когда необходимо быстренько запаковать или распаковать что-нибудь небольшое. Более того в комплекте даже есть библиотека и для Compact Framework.
Простой пример кода для создания архива с использованием библиотеки:
ZipFile zf = new ZipFile("файл архива");
zf.AddDirectory("Папка на диске которую хотим поместить в архив со всем содержимым");
zf.Save(); //Сохраняем архив.
И разумеется вначале необходимо подключить библиотеку:
using Ionic.Zip;
Простой пример для извлечения файлов из архива:
if (ZipFile.IsZipFile(openFileDialog1.FileName))//Проверка - действительно ли это Архив.
{
ZipFile zf = new ZipFile("Файл архива.zip");
zf.ExtractAll("Путь куда распаковать файлы");
}
Вот собственно и всё.