Is there some tool that satisfy such requirements:
I want somthing like this:
createinstaller.exe -source_folder e:\myprogram\ -install_path=%ProgramFiles%\myprogram\ -app_icon=e:\myprogram\appicon.icon -create_launch_icons -suggest_run_after_install myexec.exe
We currently use Inno Setup: http://www.jrsoftware.org/isinfo.php
Great tool, but you have to code in Pascal (bleh)
You write a .iss file to list the files you want to include, where to install them, the program informations (title, version...), and scripts to run (like checks for whether a particular framework is installed).
It has preprocessor directives, so you can create a "tree" of scripts to build your setup depending on which "root" script you run.
It has a large library of already-developed scripts to check for a thousand things (like this for instance).
Very powerful, you can do pretty much anything you want, except style the installer (you can just change the image on the left). The real downside, as I said, is that it's Pascal, and Pascal sucks (even though it's easy).