2010-12-13 12 views
10

Sto distribuendo la mia applicazione utilizzando il programma di installazione che creo utilizzando il progetto di installazione e distribuzione in Visual Studio. Quando costruisco il progetto di installazione ottengo un file .exe e un file .msi..Net Installer - Diff tra .exe e .msi

Mi piacerebbe sapere la differenza tra loro.

Ho notato che l'exe non può funzionare senza il .msi, ma il contrario non è così.

+0

Vorrei anche sapere questa risposta. +1 –

+0

Mi sono sempre chiesto anche io! – TabbyCool

risposta

1

Adrian è corretto. Questo potrebbe aggiungere qualche informazione in più.

http://www.ghacks.net/2009/03/23/msi-or-exe-setup/

+1

potresti aggiungere/citare/riassumere parte del contenuto a quel link? in caso di link-rot, questo sarebbe inutile nel futuro ... –

10

Il file exe è un bootstrapper che installa i prerequisiti richiesti e quindi chiama l'installazione, che è il file msi.

è possibile avviare l'installazione di per sé, eseguendo il file MSI, ma avrà esito negativo se i prerequisiti richiesti non sono installati (possibili esempi: Net Framework, VC++ Redistributable, nuova versione di MSI, ecc)

Fallisce quando si tenta di eseguire l'installazione con il bootstrapper (file exe) e manca l'MSI, perché in pratica installerà tutti i prerequisiti e quindi proverà ad avviare il programma di installazione (il file msi). Se il file non è lì, non ha cosa avviare.

A seconda delle esigenze dell'applicazione, una tecnica simile sarebbe quella di utilizzare Merge Modules per i prerequisiti dell'applicazione. Un modulo di fusione baserebbe fondamentalmente tutti i componenti richiesti nel tuo programma di installazione principale, così finirai con un solo file MSI che ha tutto dentro. Devi essere sicuro che ogni componente che usi abbia un modulo di unione disponibile, altrimenti non dovrai usare un bootstrapper.

1

Credo file MSI sono solo gli script per l'installazione, con l'associazione è il Windows Installer. I file eseguibili racchiudono l'MSI, creando un caricatore che fa praticamente la stessa cosa ma può installare i prerequisiti.

Problemi correlati