Anpassen von Windows Installer-Paketen

Mit den Bereitstellungstools in Visual Studio können Sie steuern, welche Benutzeroberfläche ein Benutzer bei der Installation sieht. Sie können die Installationsbenutzeroberfläche auch anpassen, um Informationen anzuzeigen oder um den Benutzer zur Eingabe von Informationen aufzufordern.

Sie können das Installer-Paket auch mithilfe von Mergemodulen und benutzerdefinierten Aktionen anpassen. Mergemodule können freigegebene Komponenten bereitstellen, und benutzerdefinierte Aktionen führen am Ende einer Installation Code aus, um Aktionen auszuführen, die während der Installation nicht behandelt werden können.

Installationsbenutzeroberfläche

Der Benutzeroberflächen-Editor wird zur Anpassung und Festlegung der angezeigten Dialogfelder verwendet. Jedes Dialogfeld der Benutzeroberfläche stellt eine separate Seite des Setup-Assistenten dar, der während der Installation angezeigt wird.

Der Benutzeroberflächen-Editor verfügt über eine Reihe vordefinierter Dialogfelder für Standardszenarien, z. B. die Einführung in den Assistenten (Dialogfeld Willkommen), das Angeben eines Installationsverzeichnisses durch den Benutzer (Dialogfeld Installationsordner) oder die Statusanzeige des Installationsvorgangs (Dialogfeld Status). Zusätzlich stehen einige benutzerdefinierte Dialogfelder zur Verfügung, um Auswahlmöglichkeiten anzuzeigen und mithilfe von Kontrollkästchen, Optionsfeldern und Textfeldern Informationen zu erfassen. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen und Entfernen von Installationsdialogfeldern im Benutzeroberflächen-Editor.

Tipp

In Visual Studio-Setup- und Visual Studio-Bereitstellungsprojekten werden keine benutzerdefinierten Dialogfelder oder andere benutzerdefinierten Benutzeroberflächenelemente unterstützt. Siehe auch Beschränkungen für das Dialogfeld "Installation".

Jedes Benutzeroberflächendialogfeld verfügt über Eigenschaften, die zum Steuern der Darstellung verwendet werden können. Benutzerdefinierte Dialogfelder umfassen Eigenschaften, die mithilfe von Bedingungen während der Installation ausgewertet werden können, um die Installation zu ändern. Weitere Informationen finden Sie unter Eigenschaften für den Benutzeroberflächen-Editor.

Mergemodule

Ein Mergemodul umfasst eine Komponente, z. B. eine DLL-Datei, sowie dazugehörige Dateien, Ressourcen, Registrierungseinträge und Installationslogik. Sie können Mergemodule nicht direkt installieren. Stattdessen wird ein Modul mit einem Installer zusammengeführt, um der Anwendung die Funktionalität der Komponente bereitzustellen.

Empfehlungen für Mergemodule

Die Wartung und Aktualisierung von Mergemodulen kann schwierig sein. Entwickler, die das Mergemodul in ein Setup-Projekt einschließen, können keine Patches für das Mergemodul übermitteln, ohne mit dem Besitzer des Mergemoduls zu interagieren. Zudem kann der Besitzer des Mergemoduls Updates nicht direkt an Endbenutzercomputer senden.

Erwägen Sie als Alternative, die Technologie als Windows Installer bereitzustellen, der in das Setup eingegliedert werden kann. Weitere Informationen finden Sie unter Vorbedingungen für die Anwendungsbereitstellung.

Alternative Mergemodule

In der Standardeinstellung werden die Dateien in den Mergemodulen in den Ordnern gespeichert, die der Autor des Mergemoduls angegeben hat. Möglicherweise möchten Sie dem Nutzer des Mergemoduls erlauben, den Installationsort der Dateien zu bestimmen. Wenn beispielsweise eine Assembly in einem Mergemodul von mehreren Anwendungen verwendet wird, kann der Nutzer des Mergemoduls auswählen, dass die Assembly im globalen Assemblycache installiert wird. Andernfalls kann der Consumer entscheiden, dass die Assembly im Anwendungsverzeichnis installiert wird.

Um dem Consumer eines Mergemoduls die Möglichkeit zu bieten, eine Datei an einem anderen Speicherort abzulegen, müssen Sie die Datei im Dateisystem-Editor in Alternativer Modulzielordner einfügen. Wenn das erstellte Mergemodul einem anderen Bereitstellungsprojekt hinzugefügt wird, kann der Autor dieses Projekts einen Speicherort auswählen, indem er die vom Mergemodul offen gelegte Eigenschaft Alternativer Modulzielordner festlegt. Die Eigenschaft Alternativer Modulzielordner ist eine dynamische Eigenschaft. Sie wird unter dem (MergeModuleProperties)-Knoten angezeigt, der sich unter dem KeyOutput-Knoten im Fenster Eigenschaften befindet, wenn ein Mergemodul im Projektmappen-Explorer ausgewählt wird.

Tipp

Wenn Sie im Dateisystem-Editor den Namen von Alternativer Modulzielordner ändern, wird auch der Name der Eigenschaft geändert. Die Eigenschaft wird nicht im Fenster Eigenschaften angezeigt, bis das Mergemodul erstellt wurde.

Benutzerdefinierte Aktionen

Mit benutzerdefinierten Aktionen wird nach Abschluss der Installation Code (z. B. eine DLL-Datei, EXE-Datei oder Assembly) ausgeführt, um Aktionen auszuführen, die nicht während der Installation verarbeitet werden können. Wenn z. B. während der Installation eine lokale Datenbank auf dem Zielcomputer erstellt werden soll, erstellen Sie eine ausführbare Datei, die die Datenbank erstellt und konfiguriert, und fügen Sie diese ausführbare Datei dann dem Bereitstellungsprojekt als benutzerdefinierte Aktion hinzu. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer Datenbank mithilfe einer benutzerdefinierten Aktion während der Installation.

Sie können den Editor für benutzerdefinierte Aktionen in Visual Studio verwenden, um benutzerdefinierte Aktionen hinzuzufügen und ihre Eigenschaften in einem Bereitstellungsprojekt festzulegen. Ein Bereitstellungsprojekt kann mehrere benutzerdefinierte Aktionen beinhalten. Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen und Entfernen von benutzerdefinierten Aktionen im Editor für benutzerdefinierte Aktionen.

Benutzerdefinierte Aktionen werden nach Abschluss der Installation gestartet, sodass sie nicht auf Eigenschaften zugreifen können, die zur Steuerung der Installation verwendet werden. Wenn die Weitergabe von Informationen von einem Installationsprogramm zu einer benutzerdefinierten Aktion erforderlich ist, kann dies durch Einstellung der CustomActionData-Eigenschaft geschehen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Anzeigen einer Meldung bei der Installation mithilfe einer benutzerdefinierten Aktion.

Warnung

Wenn eine benutzerdefinierte Aktion scheitert, wird die gesamte Installation rückgängig gemacht.

Unter Verwendung der Condition-Eigenschaft können außerdem Bedingungen für jede beliebige benutzerdefinierte Aktion festgelegt werden. Dadurch wird die Ausführung verschiedener benutzerdefinierter Aktionen ermöglicht, die auf Konditionen des Zielcomputers während der Installation basieren. Sie können z. B. je nach Betriebssystemversion des Zielcomputers unterschiedliche benutzerdefinierte Aktionen eingeben. Weitere Informationen finden Sie unter Condition-Eigenschaft.

Empfehlungen für benutzerdefinierte Aktionen

Sie können mithilfe von benutzerdefinierten Aktionen ein flexibles Installer-Paket erstellen, aber die Vielzahl von Endbenutzercomputern und Konfigurationen verursacht möglicherweise Probleme. Sie sollten benutzerdefinierte Aktionen entwickeln, die die Methoden Install, Uninstall, Rollback und Commit implementieren. Stellen Sie außerdem sicher, dass die benutzerdefinierte Aktion die folgenden Szenarien unterstützen kann: Reparatur, Ausgleich, Produktupgrade, Produktdowngrade, Betriebssystemupgrade, Betriebssystemdowngrade, Warten/Patchen und Verweiszählung.

Weitere Informationen zu Richtlinien für benutzerdefinierte Aktionen finden Sie in Regel 25 in Tao of the Windows Installer, Part 2.

Bedingte Bereitstellung

Einen besonderen Vorteil bei der Bereitstellung in Visual Studio bietet die Möglichkeit, Installationsbedingungen festzulegen, um die Anwendungsinstallation anzupassen. Mithilfe einer bedingten Bereitstellung können Sie je nach Betriebssystemversion unterschiedliche Dateien installieren. Sie können auch Registrierungseinträge auf Basis eines vorhandenen Schlüssels anpassen. Sie haben sogar die Möglichkeit, eine Installation anzuhalten, wenn eine abhängige Anwendung noch nicht auf dem Zielcomputer installiert worden ist.

Die Bereitstellungstools in Visual Studio unterstützen die bedingte Bereitstellung auf zweifache Weise: durch Startbedingungen und durch die Condition-Eigenschaft.

Startbedingungen

Startbedingungen werden verwendet, um eine Kondition auf einem Zielcomputer auszuwerten und eine Installation anzuhalten, falls eine Kondition nicht erfüllt wird. Sie können Startbedingungen festlegen, um nach der Betriebssystemversion, vorhandenen Dateien, Registrierungswerten, Komponenten von Windows Installer, der Common Language Runtime sowie nach den Internetinformationsdiensten (IIS, Internet Information Services) zu suchen. Startbedingungen werden im Editor für Startbedingungen festgelegt. Weitere Informationen finden Sie unter Verwalten von Startbedingungen bei der Bereitstellung.

Condition-Eigenschaft

Die Condition-Eigenschaft von Dateien, Ordnern, Registrierungseinträgen, benutzerdefinierte Aktionen oder Startbedingungen wird verwendet, um von Windows Installer verfügbar gemachte oder durch andere Elemente im Installer festgelegte Eigenschaften auszuwerten. Benutzerdefinierte Eigenschaften für Startbedingungen können im Editor für Startbedingungen festgelegt werden. Für benutzerdefinierte Ordner können sie im Dateisystem-Editor und für benutzerdefinierte Dialogfelder im Benutzeroberflächen-Editor festgelegt werden. Wenn eine benutzerdefinierte Eigenschaft festgelegt wird, muss der Name Großbuchstaben enthalten. Außerdem müssen Verwechslungen mit vorhandenen Eigenschaften oder den Eigenschaftennamen von Windows Installer ausgeschlossen werden.

Mithilfe von Bedingungen kann die Property-Eigenschaft ausgewertet werden, die von anderen Elementen im Installer verfügbar gemacht wird (z. B. die Property-Eigenschaft für eine Dateisuche). Es kann sich aber auch um Eigenschaften handeln, die von Windows Installer verfügbar gemacht werden (z. B. die Betriebssystemversion).

Weitere Informationen finden Sie unter Condition-Eigenschaft.

Boolesche Operatoren für Bedingungen

Mehrere Eigenschaften können durch die Verwendung von Booleschen Operatoren ausgewertet werden. Weitere Informationen finden Sie unter Windows Installer Conditional Statement Syntax (nur auf Englisch verfügbar).

Siehe auch

Konzepte

Setup- und Bereitstellungsprojekte

Weitere Ressourcen

Bereitstellung mit Visual Studio Installer