Dipende, ma non dipende dal linguaggio dell'applicazione (Delphi, C#, C++, C, ecc.).
È necessario decidere in primo luogo se si desidera creare MSI's, che è ufficiale formato di installazione di Microsoft (e quello che preferisco), o se si sta bene con installazioni che sono file eseguibili (come creato da InnoSetup o NSIS)
offrono molte caratteristiche molto piacevoli del MSI, come l'integrazione con SMS per la distribuzione nelle organizzazioni, installazione automatica e la rimozione, sulla modifica volo usando transforms, molto forte manipolazione prerequisito "azioni personalizzate" che possono essere scritti in VBScript o C++ o Delphi.
See this guide to writing MSI custom actions using Delphi.
Non riesco a parlare con le caratteristiche specifiche di InnoSetup o NSIS, perché creo MSI. Personalmente utilizzo una versione recente di InstallShield, ma puoi anche utilizzare l'open source ampiamente supportato e mantenuto attivamente Windows Installer XML toolkit (known as WIX). In effetti, la maggior parte degli utenti di Visual Studio preferisce WIX perché si integra bene con MSBuild .... così come Delphi 2007 e successivi.
Here's a great WIX tutorial se si è interessati a utilizzarlo per creare un pacchetto di installazione MSI per l'applicazione Delphi.
Tuttavia, avvolgere la propria mente su MSI può richiedere del tempo. È estremamente potente, ma ci vuole un po 'di pazienza e dedizione per impararlo bene. Se stai cercando un modo più veloce per muoverti con l'installazione del tuo software (e non hai familiarità con Windows Installer) probabilmente selezionerei InnoSetup (usato con ISTool).
+1 sì, assolutamente - ottimo strumento, scritto in Delphi stessa, grande e molto utile e absoultely ** GRATIS **, anche! –
+1 - Ho usato InnoSetup per molti anni e non mi ha mai deluso. Estenderlo via dll è semplice quando hai bisogno di aiuto extra, e il linguaggio di script è basato su Pascal quindi ti sembra di essere a casa. – skamradt
+1 Ho sostituito Wise con InnoSetup e ISTool molto tempo fa e non mi sono mai voltato indietro. –