What kind of files are they exactly? Executables and databases need to be extracted to the hard drive first before you can use them. The user can still access them when they are extracted to the hard drive.

You can use DotNetZip (WinZip) to create a single file or create your own file archiver.