I would like to know how I can make a good installer program.

I have my program, and I want to make an installer which will install the program and put some files in several folder so that the program can work perfectly.

How can I achieve this?

Thanks