Wir sehen sicherlich, dass einige .exe
Dateien ausgeführt werden müssen, aber was ist die unterschiedliche Funktionalität der MSI-Dateien?
Wir sehen sicherlich, dass einige .exe
Dateien ausgeführt werden müssen, aber was ist die unterschiedliche Funktionalität der MSI-Dateien?
Antworten:
MSI ist eine Abkürzung für Microsoft Silent Installer und führt das EXE-Installationsprogramm im Hintergrund aus.
Es wird im Gruppenrichtlinienobjekt verwendet. Wenn Sie beispielsweise eine Anwendung auf einer von Ihnen verwalteten Windows-Infrastruktur bereitstellen möchten, müssen Sie mit der MSI eine neue Gruppenrichtlinienobjektregel erstellen. Die MSI wird auf jedem Computer installiert, ohne dass ein Benutzereingriff erforderlich ist.
Das Gruppenrichtlinienobjekt ist ein "Gruppenrichtlinienobjekt", das "die zentrale Verwaltung und Konfiguration von Betriebssystemen, Anwendungen und Benutzereinstellungen in einer Active Directory-Umgebung ermöglicht".
Microsoft Silent Installer
zum ersten Mal. Ich wusste immer , dass MSI steht für M icro s oft ich nstaller`. Haben Sie ein offizielles Zitat, das dies sagt?
Was ist ein Installer? Nun, ein Installationsprogramm bereitet ein System so vor, dass ein Programm ausgeführt werden kann: Es installiert dieses Programm. Während dieses Vorgangs kann ein Installationsprogramm (unter Windows) Dateien an Systemspeicherorte kopieren, Verknüpfungen zum Starten platzieren, Bibliotheken aktualisieren, ältere Versionen entfernen usw. Es gibt keinen universellen Installationsstandard oder -format. Jedes Programm, das diese Aktionen ausführt (ein anderes Programm "installiert"), kann als Installationsprogramm bezeichnet werden.
Eine "exe" -Datei in Windows wird als " Portable Executable" -Datei bezeichnet und enthält beliebige Anweisungen, entweder nativen Maschinencode oder .NET-Bytecode. Es gibt nichts am PE-Format, das es als Installationsprogramm identifiziert. Natürlich können Sie mit beliebigem Maschinencode ein Installationsprogramm schreiben - und diese "exe" -Installationsprogramme, die Sie sehen, verfolgen diesen Ansatz.
Einige Leute schreiben ihre eigenen benutzerdefinierten Installationsprogramme. Andere verwenden Installationsgeneratoren, um Zeit und Mühe zu sparen. Dazu gehören NSIS, InnoSetup, InstallShield und mehr.
MSI ist ein bestimmtes Format, in dem Informationen zu einer Installation gespeichert werden, eine Datenbank mit den erforderlichen Schritten und den Dateien, die wo abgelegt werden sollen. An sich ist es nicht ausführbar; Es wird tatsächlich von msiexec.exe
auf Windows-Systemen interpretiert . Dieser Interpreter folgt dann den in der MSI-Datei beschriebenen Schritten. Sie können theoretisch jede Exe erstellen, die eine Datenbank ähnlich wie MSI verwendet (und NSIS, InnoSetup usw. tun etwas Ähnliches).
Das Besondere an MSI ist, dass es in integrierten Tools enthalten ist und von diesen interpretiert wird. Außerdem ist es in Active Directory integriert, um die Bereitstellung auf vielen Computern in einer Unternehmensumgebung zu vereinfachen. Die Antwort von Clem behandelt dies ausführlicher.
MSI-Dateien sind Datenbankdateien (insbesondere MS-SQL-Datenbanken), die die Installation über Datenbanktabellen beschreiben und über einen komplexen Satz von Installationssequenzen installieren, die in der MSI-Datei selbst definiert sind.
MSI-Dateien werden nicht als EXE-Dateien im Hintergrund installiert, wie "Clem" schreibt. Sie werden von der Windows Installer Engine verwendet , auf die über die Befehlszeilenschnittstelle msiexec.exe zugegriffen werden kann . Oder probieren Sie die kommentierten msiexec.exe-Befehlszeilenbeispiele von Advanced Installer aus . Anschließend wird die Installation selbst über zwei verschiedene Sequenzen ausgeführt: die Benutzeroberflächensequenz und die tatsächliche Installationssequenz - letztere wird im Systemkontext unter Verwendung des LocalSystem-Kontos ausgeführt . Diese Anordnung ist erforderlich, um dem Installationsprogramm temporäre Administratorrechte oder erhöhte Rechte zu gewähren, was der richtige Begriff ist.
EXE-Installer können alles sein. In den meisten Fällen handelt es sich um skriptbasierte Installationsprogramme älteren Stils, die nicht auf Datenbanken basieren. Eine EXE-Datei kann jedoch auch ein Wrapper sein, der MSI-Dateien und zugehörige Laufzeitkomponenten enthält. Es kommt darauf an und muss im Einzelfall untersucht werden.