Inno Setup is a feature-rich open source installer for Windows applications. With it's integrated Pascal scripting engine you have full control of both installation as well as uninstallation.
Inno Setup generates a single EXE file that handles all of the installation process. Advanced features include multi-lingual support, password protection and encryption of the installation file.
-Integrated Pascal scripting engine.
-Support for multilingual installs.
-Support for passworded and encrypted installs.
-Silent install and uninstall.
-Full source code is available (Borland Delphi 2.0-5.0).