Was ist der Unterschied zwischen einem EXE- und einem MSI-Installationsprogramm?

8

Ich habe ein Installationspaket mit Installaware erstellt und eine EXE und eine MSI generiert. Die EXE ist 3.1MB und das MSI ist nur 265K. Warum gibt es einen so großen Größenunterschied?

    
MrB 07.10.2010, 22:48
quelle

3 Antworten

10

Eine MSI-Datei kann nur von msiexec.exe - Windows Installer-Engine gestartet werden. Eine MSI-Datei ist eine Windows Installer-Datenbankdatei, die Software installieren kann. Es erfordert mindestens die richtige Version der Windows Installer Engine Runtime, um installiert werden zu können. Die meisten Systeme sind mit den neuesten Motorversionen auf dem neuesten Stand, da sie über Windows Update heruntergefahren werden.

Die EXE-Datei , die Sie generieren, ist eine selbstextrahierende Startanwendung , die sowohl die MSI selbst als auch verschiedene Laufzeitanforderungen enthält , die das Setup möglicherweise hat.

Verschiedene Komponenten einer EXE-Datei können enthalten:

  • Die Version der Windows Installer Engine-Laufzeit , die das MSI benötigt (aktuelle Version 5.0). Heutzutage sollte diese Runtime von Windows Update installiert werden, und Ihr Setup sollte nur überprüfen, ob es vorhanden ist.
  • Scripting-Laufzeiten, die für benutzerdefinierte Aktionen im MSI (InstallScript für Installshield ) erforderlich sind
  • Die .NET-Laufzeitversion , die von der Anwendung benötigt wird (jetzt auf 10 Versionen verfügbar). Ich würde es vorziehen, Windows Update auch dafür zu verwenden, aber wenn Ihre Anwendung auf dem neuesten Stand ist, möchten Sie vielleicht die erforderliche Engine hinzufügen.
  • Logo-Dateien und Splash-Screens, möglicherweise in verschiedenen Sprachen für mehrsprachige Setups
  • Mehrere andere Komponenten sind möglich

Beachten Sie, dass eine EXE-Datei auch ein Nicht-MSI-Installationsprogramm sein kann. Mit anderen Worten ein altes Installationsprogramm, das nicht auf dem Microsoft MSI-Format basiert - eine in einem Büro gespeicherte MS-SQL-Datenbank -Style-Binärdatei - aber ein Installationsskript verschiedener Formate wie Wise Script, Instalscript, Inno Setup, etc ... In diesem Fall ging es jedoch um den Größenunterschied zwischen der exe und dem MSI einer InstallAware Build, und dann ist der Unterschied die oben genannten Laufzeiten.

    
Stein Åsmul 22.05.2014 19:24
quelle
4

Der Unterschied ist: MSI-Paket enthält Ihre Dateien + Installationsskript, und die eigentliche Installation wird von dem Microsoft Installer ausgeführt, der ein Teil von Windows ist, und es kümmert sich um die Anzeige von Windows, Protokollierung von Nachrichten usw. Auf der anderen Seite, Ihr EXE-Installer hält Dateien und die eigentliche Programmlogik, um die Installation selbst auszuführen, und ist für so ziemlich alles verantwortlich, daher der Unterschied.

    
Jas 07.10.2010 22:52
quelle
-2

Die EXE enthält wahrscheinlich Setup-Routinen, die sonst von msiexec ausgeführt werden, und führt nur das Installationsskript aus, das in der MSI enthalten ist.

    
Jim Brissom 07.10.2010 22:51
quelle