Cela dépend, mais pas du langage de l'application (Delphi, C#, C++, C, etc.).
Vous devez d'abord décider si vous souhaitez créer MSI qui est l'application de Microsoft officiel (et celui que je préfère), ou si vous êtes satisfait des installations sous forme de fichiers exécutables (tels que créés par le logiciel InnoSetup o NSIS )
Les MSI offrent de nombreuses fonctionnalités très intéressantes, telles que l'intégration avec SMS pour le déploiement dans les organisations, l'installation et la suppression automatisées, la modification à la volée à l'aide de la technologie transforme La gestion des conditions préalables, très solide, les "actions personnalisées" qui peuvent être écrites en VBScript, en C++ ou en Delphi.
Voir ce guide pour écrire des actions personnalisées MSI à l'aide de Delphi .
Je ne peux pas parler des caractéristiques spécifiques d'InnoSetup ou de NSIS, car je crée des MSI. J'utilise personnellement une version récente d'InstallShield, mais vous pouvez également utiliser le logiciel libre largement supporté et activement maintenu Boîte à outils Windows Installer XML (connue sous le nom de WIX) . En fait, la plupart des utilisateurs de Visual Studio préfèrent WIX parce qu'il s'intègre bien à MSBuild...., tout comme Delphi 2007 et les versions plus récentes.
Voici un excellent tutoriel WIX si vous souhaitez l'utiliser pour créer un paquet d'installation MSI pour votre application Delphi.
Cependant, il faut du temps pour se familiariser avec les MSI. Il s'agit d'un outil extrêmement puissant, mais il faut de la patience et de l'engagement pour bien l'apprendre. Si vous cherchez un moyen plus rapide d'installer vos logiciels (et que vous n'êtes pas familier avec Windows Installer), je choisirais probablement InnoSetup (utilisé avec ISTool).