FreeExtractor is the easiest way to create self-extracting archives for Windows from existing ZIP files. It is an excellent open-source solution for packaging software programs and for distributing files to friends and colleagues over the Internet.
The command line version offers many options including specifying the default directory, optional user directory, showing output folder after extraction, and executing a command. You can also specify the title of the window and the message for the first page. The switches have long names ("/title") and the command line help documents them very well. I used freeextractor to build a self-extractor that would decompress and then immediately launch a custom installation wizard.