Я делал всё руками. Вообще-то в IE-6- windows-XP сохранение страницы в виде web-архива уже внедрено. (см.диалог "Сохранить"). Если кратко, то нужно выполнить несколько шагов:
1) заменить все адреса рисунков на странице на ссылки типа <cid:имя>
2) страницу и каждый файл закодировать одним из вариантов (base64 или quoted-printable)
3) сформировать результатирующий файл
**!!! Архивным этот файл можно назвать только условно. Основное его преимущество - всё собрано в одном файле. Размер же этого файла будет больше, чем сумма размеров всех файлов.
Для этого нужно изучить кучу документов по MIME (см.
http://www.faqs.org/rfcs/). Начните с rfc1341.