Eu recomendaria Windows Installer ou InnoSetup para soluções gratuitas. O Windows Installer é muito poderoso, mas mais complicado, embora possa ser usado pelo Visual Studio . O InnoSetup é bastante intuitivo, mas sua situação pode ser muito complexa.
O InstallShield é muito popular, mas vai custar entre US $ 600 e US $ 4.000. / p>
Todas essas soluções são instaladores de GUI, mas o Windows Installer pode ter mais codificação para ser executado.