Windows Installer - Windows Installer

Windows Installer
Windows Installer 5.0 unter Windows 7.png
Hilfebildschirm von Windows Installer 5.0, das unter Windows 7 ausgeführt wird .
Entwickler Microsoft
Erstveröffentlichung 31. August 1999 ; Vor 22 Jahren ( 1999-08-31 )
Stabile Version
5.0 / 22. Juli 2009 ; vor 12 Jahren ( 2009-07-22 )
Betriebssystem Microsoft Windows
Plattform IA-32 , x86-64 , ARM32 , ARM64 , Itanium
Inbegriffen Windows 2000 und höher
Typ Installateur
Lizenz Freeware
Webseite www .microsoft .com Bearbeiten Sie dies auf Wikidata
Windows Installer-Paket
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 mstenthalten Windows Installer "Transformation Scripts", die mit den msmErweiterungen enthalten "Merge Modules" und die Dateierweiterung pcpwird 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

Office XP

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

Verweise

Externe Links