Technically, installing a program requires ... a program that calls some specific API to properly update the system registry and copy the files as needed.
Since this task is common to all the installation, a number of configurable programs had been developed and many of them are free to use.
You can find many of them by googoling "Windows installing software".
Try for example "inno setup" (
http://www.jrsoftware.org/isinfo.php)[
^]
or "Spoon installer" (
http://sourceforge.net/projects/spoon-installer/[
^])
etc.