Ho creato un pacchetto di installazione utilizzando Installaware e generato un EXE e un MSI. L'EXE è 3,1 MB e l'MSI è solo 265K. Perché c'è una così grande differenza di dimensioni?Qual è la differenza tra un programma di installazione EXE e MSI?
risposta
L'EXE contiene probabilmente routine di installazione altrimenti eseguite da msiexec
, che esegue solo qualsiasi script di installazione contenuto nell'MSI.
No, questa non è una informazione accurata. Cancella per favore. –
La differenza è: il pacchetto MSI contiene i file + lo script di installazione e l'installazione effettiva viene eseguita da Microsoft Installer, che fa parte di Windows, e si occupa della visualizzazione di Windows, dei messaggi di registrazione, ecc. , il tuo programma di installazione EXE contiene i file + la logica del programma per eseguire l'installazione stessa, essendo responsabile di praticamente tutto, quindi la differenza.
Una cosa da notare è che ci sono molte versioni di msiexec e il tuo file .MSI richiede una determinata versione di Microsoft Installer. Detto questo, gli utenti che aggiornano regolarmente Windows avranno sempre l'ultimo e più grande msiexec installato. – EboMike
In realtà un file EXE generato da uno strumento di installazione come InstallAware, Installshield o AdvancedInstaller generalmente contiene i runtime e le funzionalità di avvio per avviare l'installazione MSI in modi automatici, a volte in diverse lingue. –
Un file MSI può essere lanciata solo da msiexec.exe - Windows Installer motore. Un file MSI è un file di database di Windows Installer in grado di installare software. Richiede la versione corretta di Windows Installer Engine Runtime come minimo per essere installabile. La maggior parte dei sistemi sono aggiornati con le ultime versioni del motore da quando scende tramite Windows Update.
Il file EXE si genera è un autoestraente di avvio delle applicazioni contenente sia il MSI stesso così come diverse esigenze di runtime che l'installazione potrebbe avere.
Vari componenti un file EXE possono includere:
- La versione del Windows Installer Engine Runtime MSI richiede (attuale versione 5.0). In questi giorni questo runtime dovrebbe essere installato da Windows Update e la tua installazione dovrebbe solo verificare che sia presente.
- tempi di esecuzione scripting richiesto dalle azioni personalizzate nel MSI (InstallScript per Installshield)
- Il .NET runtime version richiesto dall'applicazione (Guadagnare su 10 versioni ora). Preferirei usare Windows Update anche per questo, ma se la tua applicazione è all'avanguardia, potresti voler includere il motore richiesto.
- file Logo e splash screen, potenzialmente in lingue diverse per configurazioni multi-lingue
- Diversi altri componenti sono possibili
Si noti che un file EXE può anche essere un programma di installazione non-MSI. In altre parole, un programma di installazione vecchio stile non basato sul formato Microsoft MSI, che è un database MS-SQL memorizzato in un file binario in stile Office, ma uno script di installazione di vari formati come Wise Script, Instalscript, Inno Setup, ecc. ... Tuttavia, in questo caso la domanda riguardava la differenza di dimensioni tra l'exe e l'MSI che usciva da un build InstallAware, e quindi la differenza è rappresentata dai runtime illustrati sopra.
- 1. .Net Installer - Diff tra .exe e .msi
- 2. qual è la differenza tra installshield e windowsinstaller
- 3. C'è qualche differenza tra il programma di installazione .msi di specflow e il suo pacchetto nuget?
- 4. Quali sono le differenze tra i programmi di installazione MSI e EXE e quali dovrei scegliere?
- 5. Unisci msi e exe
- 6. di installazione MSI a chiamare un altro programma di installazione MSI in modalità silenziosa con WiX
- 7. Qual è la differenza tra installazione di pip e installazione di sudo pip?
- 8. Qual è la differenza tra il progetto di installazione e il wizard di installazione?
- 9. MSIEXEC Qual è la differenza tra qn e quiet
- 10. Come aggiungere un file MSI al mio programma di installazione
- 11. Qual è la differenza tra = e: =
- 12. Qual è la differenza tra dict() e {}?
- 13. Qual è la differenza tra 7zip's 7z.sfx e 7zsd.sfx?
- 14. Differenza tra MySQL .zip e .msi download
- 15. Qual è la differenza tra .ToString() e + ""
- 16. Qual è la differenza tra Verilog! e ~?
- 17. Differenza tra .com, .exe e .bat?
- 18. Qual è la differenza tra $ e $$?
- 19. Qual è la differenza tra {0} e +?
- 20. Qual è la differenza tra ("") e (null)
- 21. Qual è la differenza tra? : e ||
- 22. qual è la differenza tra [[], []] e [[]] * 2
- 23. Qual è la differenza tra " " e ""?
- 24. Qual è la differenza tra {0} e ""?
- 25. Qual è la differenza tra `##` e `hashCode`?
- 26. qual è la differenza tra:.! e: r !?
- 27. In MsBuild, qual è la differenza tra PropertyGroup e ItemGroup
- 28. Qual è la differenza tra una trappola, un errore, un fallimento e l'aborto del programma?
- 29. Qual è la differenza tra un pacchetto e un intento?
- 30. Qual è la differenza tra un algoritmo e un metodo
Non è consigliabile includere il motore di Windows Installer con il file setup.exe se la dimensione del download è un problema. Includo il motore solo se sono dipendente da una nuova versione del motore appena uscito da Microsoft. Altrimenti quasi tutti i sistemi connessi a Internet avranno un motore adeguato installato. E anche allora preferisco che l'MSI informi l'utente di eseguire Windows Update per ottenere il motore più recente invece di installarlo automaticamente. –
possibile duplicato di [Quali sono le differenze specifiche tra i file .msi e setup.exe?] (Http://stackoverflow.com/questions/1789530/what-are-the-specific-differences-between-msi-and-setup -exe-file) –