Зависит, но не зависит от языка приложения (Delphi, C #, C ++, C и т. Д.).
Вы должны прежде всего решить, хотите ли вы создать MSI , который является официальным форматом установки Microsoft (и тот, который я предпочитаю), или вам хорошо с установками, которые исполняемые файлы (созданные InnoSetup или NSIS )
MSI предлагает много очень приятных функций, таких как интеграция с SMS для развертывания в организациях, автоматическая установка и удаление, модификация на лету с использованием преобразований , очень сильная обработка предварительных условий, «настраиваемые действия», которые могут быть написанный на VBScript или C ++ или Delphi.
См. Это руководство по написанию пользовательских действий MSI с использованием Delphi .
Я не могу говорить об особенностях InnoSetup или NSIS, потому что я создаю MSI. Я лично использую последнюю версию InstallShield, но вы также можете использовать широко поддерживаемый и активно поддерживаемый XML-инструментарий установщика Windows (известный как WIX) . Фактически, большинство пользователей Visual Studio предпочитают WIX, потому что он хорошо интегрируется с MSBuild .... как и Delphi 2007 и новее.
Вот отличное руководство по WIX , если вы хотите использовать его для создания установочного пакета MSI для вашего приложения Delphi.
Однако, чтобы обернуть голову вокруг MSI, может потребоваться некоторое время. Это чрезвычайно мощно, но для того, чтобы выучить его, нужно немного терпения и самоотдачи. Если вы ищете более быстрый способ начать установку программного обеспечения (и не знакомы с установщиком Windows), я, вероятно, выберу InnoSetup (используется с ISTool).