I was looking for a software to bundle my application as one installer. So it can deploy it any where. I found open source product IzPack. It requires only a Java virtual machine to deploy.
IzPack : http://izpack.org/
There are some commercial product available, Following products are used to create windows installer (msi) package.
InstallShield
Advanced Installer
Some more free tools ..
Windows Installer XML (WiX)
InstEd
NSIS