J'ai beaucoup cherché, mais toutes les réponses sont devinées. Aidez-moi à trouver la réponse exacte.
Un MSI est une base de données Windows Installer. Windows Installer (un service installé avec Windows) l’utilise pour installer des logiciels sur votre système (copier des fichiers, définir des valeurs de registre, etc.).
Un fichier setup.exe peut être un programme d’amorçage ou un programme d’installation non-msi. Un installateur non-msi va extraire les ressources d'installation de lui-même et gérer leur installation directement. Un bootstrapper contiendra un MSI au lieu de fichiers individuels. Dans ce cas, le fichier setup.exe appellera Windows Installer pour installer le MSI.
Quelques raisons pour lesquelles vous pourriez utiliser un setup.exe:
Les fichiers .msi sont des fichiers du programme d’installation Windows sans le programme d’exécution de Windows, setup.exe peut être n’importe quel programme exécutable (probablement un programme qui installe des éléments sur votre ordinateur).
MSI est un fichier d'installation qui installe votre programme sur le système en cours d'exécution.
Setup.exe est une application (fichier exécutable) dont le fichier est un fichier msi en tant que l'une des ressources. L'exécution de Setup.exe exécutera à son tour msi (le programme d'installation) qui écrit votre application sur le système.
Edit (comme suggéré dans le commentaire): Les fichiers exécutables d'installation n'ont pas nécessairement une ressource MSI en interne