# VBForums CodeBank > CodeBank - C++ >  C++ - Pure WIN32 Self-Extract EXE Builder (Part - 1)

## Chris

*Part - 1*

Download demo project - 333 Kb
Download source - 367 Kb
*Please right click the above link & select *Save Target As...* to begin sample code download.





*Why I developed it*
Sometimes, those off the shell installation tools might require you to write some script in order to properly copy those distributed file into the defined folder. Yet, it may not best fit your requirement as in our real software development community, there are always some demanding boss keep on asking more but paying less for the development tools. That the reason why I have start design & develop my first self-extract executable file to support my new LiveUpdate module in my application.

After I developed it, and I found I can make it even better by reuse the same code (EXE) more efficiently in the future. So, finally I have come-out my own Self-Extract EXE builder. Which will scan the specified folder and accumulate each files (binary data) into a single binary file, follow by compressed it using the *Zlib** algorithm and subsequently inject it into the embedded self-extract executable file by the *UpdateResource* API.

*NOTE:*
This API only support on Windows 2000/XP/NT but not Windows95/98/ME

**Zlib* compression algorithm was _Copyright © 1995-2003 Jean-loup Gailly and Mark Adler_. Please visit *Zlib* to learn more about the zlib compression algorithm.


*Methodology behind the scene*
The methodology applied in this project is simple and straight forward. As the entire project was split into 3 separate module and each module it take place at different stages in order to archieve the final goal! (distribute any files via a self-extract executable file)



I also included the sample source code, which will offer you a better understanding on the process involve on the above first 2 module (_SelfExtract.exe and SetupEx.exe_).

----------

