Windows Installer - Windows Installer
Entwickler | Microsoft |
---|---|
Erstveröffentlichung | 31. August 1999 |
Stabile Version | 5.0 / 22. Juli 2009
|
Betriebssystem | Microsoft Windows |
Plattform | IA-32 , x86-64 , ARM32 , ARM64 , Itanium |
Inbegriffen | Windows 2000 und höher |
Typ | Installateur |
Lizenz | Freeware |
Webseite |
www |
Dateinamenerweiterung |
.msi, .msp
|
---|---|
Internet-Medientyp |
Anwendung/x-ole-Speicher |
Entwickelt von | Microsoft |
Formattyp | Archiv |
Behälter für | Installationsinformationen und eine optionale .cab- Dateinutzlast |
Verlängert von | Strukturierter COM-Speicher |
Offenes Format ? | Nein |
Windows Installer (msiexec.exe, früher bekannt als Microsoft Installer , Codename Darwin ) ist eine Softwarekomponente und eine Anwendungsprogrammierschnittstelle (API) von Microsoft Windows, die für die Installation, Wartung und Entfernung von Software verwendet wird. Die Installationsinformationen und optional die Dateien selbst sind in Installationspaketen verpackt , lose relationale Datenbanken , die als strukturierte COM-Speicher strukturiert sind und allgemein als "MSI-Dateien" bekannt sind, von ihren Standard- Dateinamenerweiterungen . Die Pakete mit den Dateierweiterungen mst
enthalten Windows Installer "Transformation Scripts", die mit den msm
Erweiterungen enthalten "Merge Modules" und die Dateierweiterung pcp
wird für "Patch Creation Properties" verwendet. Windows Installer enthält wesentliche Änderungen gegenüber seinem Vorgänger, der Setup-API. Zu den neuen Features gehören ein GUI- Framework und die automatische Generierung der Deinstallationssequenz . Windows Installer wird als Alternative zu eigenständigen ausführbaren Installer-Frameworks wie älteren Versionen von InstallShield und NSIS positioniert .
Vor der Einführung des Windows Store hat Microsoft Dritte dazu ermutigt, Windows Installer als Basis für Installationsframeworks zu verwenden, damit sie sich korrekt mit anderen Installern synchronisieren und die interne Datenbank der installierten Produkte konsistent halten. Wichtige Features wie Rollback und Versionierung sind für einen zuverlässigen Betrieb auf eine konsistente interne Datenbank angewiesen. Darüber hinaus erleichtert Windows Installer das Prinzip der geringsten Rechte, indem es Softwareinstallationen für nicht privilegierte Benutzer per Proxy durchführt.
Logischer Aufbau von Paketen
Ein Paket wird die Installation von einem oder mehreren vollständigen Produkten und wird allgemein durch eine identifizierte GUID . Ein Produkt besteht aus Komponenten , die in Funktionen gruppiert sind . Windows Installer verarbeitet keine Abhängigkeiten zwischen Produkten.
Produkte
Ein einzelnes, installiertes, funktionierendes Programm (oder eine Reihe von Programmen) ist ein Produkt . Ein Produkt wird durch eine eindeutige GUID (die ProductCode-Eigenschaft) identifiziert, die weltweit eine maßgebliche Identität bietet. Die GUID ermöglicht in Kombination mit der Versionsnummer (ProductVersion-Eigenschaft) die Release-Verwaltung der Dateien und Registrierungsschlüssel des Produkts.
Ein Paket enthält die Paketlogik und andere Metadaten , die sich darauf beziehen, wie das Paket bei der Ausführung ausgeführt wird. Das Ändern einer EXE-Datei im Produkt kann beispielsweise eine Änderung des ProductCode oder der ProductVersion für die Releaseverwaltung erforderlich machen. Das bloße Ändern oder Hinzufügen einer Startbedingung (wobei das Produkt genau gleich der vorherigen Version bleibt) würde jedoch immer noch eine Änderung des PackageCode für das Release-Management der MSI-Datei selbst erfordern.
Merkmale
Ein Feature ist eine hierarchische Gruppe von Komponenten. Ein Merkmal kann eine beliebige Anzahl von Komponenten und anderen Untermerkmalen enthalten. Kleinere Pakete können aus einem einzelnen Feature bestehen. Komplexere Installer können ein Dialogfeld "benutzerdefiniertes Setup" anzeigen, aus dem der Benutzer auswählen kann, welche Funktionen installiert oder entfernt werden sollen.
Der Paketautor definiert die Produkteigenschaften. Ein Textverarbeitungsprogramm kann zum Beispiel die Kerndatei des Programms in eine Funktion und die Hilfedateien des Programms, die optionale Rechtschreibprüfung und Schreibwarenmodule in zusätzliche Funktionen platzieren.
Komponenten
Eine Komponente ist die Grundeinheit eines Produkts. Jede Komponente wird von Windows Installer als eine Einheit behandelt. Das Installationsprogramm kann nicht nur einen Teil einer Komponente installieren. Die Komponenten können Programm enthalten Dateien , Ordner , COM - Komponenten, Registrierungsschlüssel und Verknüpfungen . Der Benutzer interagiert nicht direkt mit Komponenten.
Komponenten werden global durch GUIDs identifiziert; Somit kann dieselbe Komponente von mehreren Funktionen desselben Pakets oder mehrerer Pakete gemeinsam genutzt werden, idealerweise durch die Verwendung von Merge-Modulen .
Schlüsselpfade
Ein Schlüsselpfad ist eine bestimmte Datei, ein Registrierungsschlüssel oder eine ODBC- Datenquelle, die der Paketautor als kritisch für eine bestimmte Komponente angibt. Da eine Datei der häufigste Schlüsselpfadtyp ist, wird häufig der Begriff Schlüsseldatei verwendet. Eine Komponente kann höchstens einen Schlüsselpfad enthalten; Wenn eine Komponente keinen expliziten Schlüsselpfad hat, wird der Zielordner der Komponente als Schlüsselpfad verwendet. Wenn ein MSI-basiertes Programm gestartet wird, überprüft Windows Installer das Vorhandensein von Schlüsselpfaden. Wenn der aktuelle Systemzustand nicht mit dem im MSI-Paket angegebenen Wert übereinstimmt (zB eine Schlüsseldatei fehlt), wird das zugehörige Feature neu installiert. Dieser Vorgang wird als Selbstheilung oder Selbstreparatur bezeichnet . Keine zwei Komponenten sollten denselben Schlüsselpfad verwenden.
Entwickeln von Installationspaketen
Das Erstellen eines Installationspakets für eine neue Anwendung ist nicht trivial. Es muss angegeben werden, welche Dateien wo und mit welchen Registrierungsschlüsseln installiert werden müssen. Alle nicht standardmäßigen Vorgänge können mit benutzerdefinierten Aktionen ausgeführt werden, die normalerweise in DLLs entwickelt werden . Es gibt eine Reihe von kommerziellen und Freeware-Produkten, die beim Erstellen von MSI-Paketen helfen, darunter Visual Studio (nativ bis VS 2010, mit einer Erweiterung auf neueren VS-Versionen), InstallShield und WiX . In unterschiedlichem Maße können die Benutzeroberfläche und das Verhalten für die Verwendung in weniger verbreiteten Situationen, wie beispielsweise einer unbeaufsichtigten Installation, konfiguriert werden. Nach der Vorbereitung wird ein Installationspaket "kompiliert", indem die Anweisungen und Dateien vom lokalen Computer des Entwicklers gelesen und die .msi-Datei erstellt werden.
Die zu Beginn der Installation angezeigte Benutzeroberfläche (Dialogfelder) kann durch den Installateur, der einen neuen Installer entwickelt, geändert oder konfiguriert werden. Es gibt eine begrenzte Sprache von Schaltflächen, Textfeldern und Beschriftungen, die in einer Reihe von Dialogfeldern angeordnet werden können. Ein Installationspaket sollte ohne Benutzeroberfläche ausgeführt werden können, was als "unbeaufsichtigte Installation" bezeichnet wird.
ICE-Validierung
Microsoft stellt eine Reihe von Internal Consistency Evaluators (ICE) bereit, die verwendet werden können, um potenzielle Probleme mit einer MSI-Datenbank zu erkennen. Die ICE-Regeln werden in CUB-Dateien kombiniert, bei denen es sich um abgespeckte MSI-Dateien mit benutzerdefinierten Aktionen handelt, die den Inhalt der MSI-Zieldatenbank auf Validierungswarnungen und -fehler testen. Die ICE-Validierung kann mit den Plattform-SDK-Tools Orca und msival2 oder mit Validierungstools durchgeführt werden, die mit den verschiedenen Authoring-Umgebungen geliefert werden.
Einige der ICE-Regeln sind beispielsweise:
- ICE09: Überprüft, ob alle Komponenten, die für den Systemordner bestimmt sind, als permanent markiert sind.
- ICE24: Bestätigt, dass der Produktcode, die Produktversion und die Produktsprache geeignete Formate haben.
- ICE33: Überprüft, dass die Registry-Tabelle nicht für Daten verwendet wird, die besser für eine andere Tabelle (Klasse, Erweiterung, Verb usw.) geeignet sind.
Die Behebung von Warnungen und Fehlern bei der ICE-Validierung ist ein wichtiger Schritt im Freigabeprozess.
Versionen
Ausführung | Inbegriffen | Auch erhältlich für |
---|---|---|
1.0 | Büro 2000 | N / A |
1.1 | Windows 2000 RTM, SP1, SP2 |
Windows 95 , Windows 98 Windows NT 4.0 |
1,2 | Windows Me | N / A |
2.0 |
Windows XP RTM, SP1 Windows 2000 SP3, SP4 Windows Server 2003 RTM |
Windows 9x Windows NT 4.0 Windows 2000 |
3.0 | Windows XP SP2 |
Windows 2000 Windows XP Windows Server 2003 |
3.1 |
Windows XP SP3 Windows Server 2003 SP1, SP2 Windows XP Professional x64 Edition |
Windows 2000 Windows XP Windows Server 2003 |
4.0 |
Windows Vista RTM, SP1 Windows Server 2008 RTM |
N / A |
4.5 |
Windows Vista SP2 Windows Server 2008 SP2 |
Windows XP Windows Server 2003 Windows XP Professional x64 Edition Windows Vista Windows Server 2008 |
5.0 |
Windows 7 und höher Windows Server 2008 R2 und höher |
N / A |
Siehe auch
- .exe
- Installation
- Liste der Installationssoftware
- Paketverwaltungssystem
- Windows Installer CleanUp-Dienstprogramm
- ZAP-Datei – eine Möglichkeit, eine Anwendungsinstallation durchzuführen, wenn keine MSI-Datei vorhanden ist.
Verweise
Externe Links
- "Windows-Installer" . Microsoft-Entwicklungszentrum.
- InstallSite.org "Ressourcen für Setup-Entwickler"