Zip Folder

It doesn't get any simpler to use than this, an HTTP Handler that zips up and entire folder and its descendants and delivers the Zip file back to the users.

A one line entry in web.config sets it up
<add verb="*" path="*.zip" type="AWDServerControls.zipfolder, AWDServerControls"/>
Using IIS 6 or greater the extension .zip needs to be registered once for either the website or the server using this dialog
IIS Configure an Extension
Source of /samples/zip.aspx
<%@ Page Title="Zip File Demo" Language="vb" AutoEventWireup="false" MasterPageFile="~/samples/sample.master" CodeBehind="zip.aspx.vb" Inherits="www.aviationwebdesign.co.uk.zip" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<h1>Zip File Demo</h1>
    <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="/samples/images.zip">Download Zip File Containing Images</asp:HyperLink>
</asp:Content>