Qual è la differenza tra i file .msi e .exe in Windows?

EXE è l'abbreviazione di Executable. È qualsiasi tipo di file binario che può essere eseguito. Tutti i programmi di Windows sono file exe. Prima dei file MSI, tutti gli installatori erano file EXE. L'installatore di tipo EXE richiedeva molti file tranne l'archivio eseguibile di tipo EXE che è un file compresso memorizzato all'interno di un archivio estrattore eseguibile. Questo tipo di file funziona espandendo l'archivio in una directory temporanea e poi strofina l'installatore EXE che installa tutti gli altri file che sono stati estratti.

Un file MSI è un Microsoft Installer. Non è un eseguibile, è un file di database che contiene record che contengono informazioni su come installare un programma. Queste informazioni potrebbero essere immagini, valori di registro o file grezzi, per citarne alcuni. Come tale, un MSI non deve essere compilato per la piattaforma del sistema operativo di destinazione, ma invece (in teoria) potrebbe contenere più bundle che vengono installati a seconda del sistema operativo o dell'architettura di destinazione.

Per questo motivo, MSI è una soluzione di installazione molto migliore. È stato creato da Microsoft specificamente per affrontare il fatto che ognuno stava creando i propri programmi di installazione e con non standard era un Far West di installatori. L'MSI unifica tutto questo in un pacchetto standard che è molto potente, e per la maggior parte senza diritti d'autore. (Dal momento che la gente non ha più bisogno di installatori di terze parti)