Verwenden transitiver Komponenten
Eine typische Verwendung für transitive Komponenten ist, ein Produkt vorzubereiten, das während eines Systemupgrades neu installiert werden soll. Die/der Autor*in des Installationspakets gibt an, dass die Komponenten, die während eines Systemupgrades ausgetauscht werden müssen, das transitive Attribut aufweisen. Wenn Benutzer*innen das System später aktualisieren, muss das Produkt neu installiert werden. Nach dieser Neuinstallation entfernt das Installationsprogramm die früheren Komponenten und installiert die späteren Komponenten, ohne dass das gesamte Produkt installiert werden muss.
So schließen Sie zwei transitive Komponenten in das Installationspaket ein
Schließen Sie beide transitiven Komponenten in das Installationspaket ein.
Erstellen Sie beide transitiven Komponenten wie reguläre Komponenten in der Component-Tabelle. Jede transitive Komponente muss über eine eigene eindeutige GUID verfügen, die in der Spalte ComponentId angegeben ist.
Fügen Sie für jede transitive Komponente das Bit msidbComponentAttributesTransitive in die Spalte „Attributes“ der Component-Tabelle ein. Wenn dieses Bit festgelegt ist, wertet das Installationsprogramm den Wert der Anweisung in der Spalte „Condition“ bei einer Neuinstallation neu aus.
Wenn der Wert zuvor FALSE war und in TRUE geändert wurde, installiert das Installationsprogramm die Komponente.
Wenn der Wert zuvor TRUE war und in FALSE geändert wurde, entfernt das Installationsprogramm die Komponente auch dann, wenn sie über andere Produkte als Clients verfügt.
Hinweis
Sofern das transitive Bit nicht festgelegt ist, bleibt die Komponente nach der Installation aktiviert, auch wenn die bedingte Anweisung bei einer nachfolgenden Wartungsinstallation des Produkts als FALSE ausgewertet wird. Die Bedingungen dürfen nur auf Computerzuständen basieren. Bedingungen, die auf Benutzerzuständen oder Eigenschaften basieren, die in der Befehlszeile festgelegt sind, sind nicht geeignet, da sie dazu führen können, dass das Installationsprogramm bei jeder Verwendung durch eine*n andere*n Benutzer*in eine Neuinstallation des Produkts erfordert.
Geben Sie ergänzende bedingte Ausdrücke in die Condition-Felder der Control-Tabelle ein, sodass dann, wenn sich die Bedingung für die erste transitive Komponente in FALSE ändert, die Bedingung für die zweite transitive Komponente in TRUE ändert. Dies führt dazu, dass die erste Komponente entfernt und die zweite Komponente bei der Neuinstallation der Anwendung installiert wird.
Eine Neuinstallation des Produkts ist erforderlich, um die transitiven Komponenten zu wechseln. Paketautor*innen müssen Benutzer*innen daher eine Methode zum erneuten Installieren des Produkts und zum Festlegen der Modi der REINSTALLMODE-Eigenschaft bereitstellen. Es gibt im Grunde drei Möglichkeiten, die Neuinstallation auszulösen:
- Führen Sie die Neuinstallation über die Benutzeroberfläche aus, und konfigurieren Sie sie, indem Sie ein Paket erstellen, das die vollständige Benutzeroberfläche verwendet.
- Führen Sie die Neuinstallation über die Befehlszeile mithilfe von msiexec /f aus, und wählen Sie die Modi aus der Liste für die Befehlszeilenoption/f aus.
- Lassen Sie die Anwendung MsiReInstallProduct oder MsiReInstallFeature aufrufen.
Das Bit sollte nur mit Bedingungen verwendet werden, die auf Computerzuständen basieren. Bedingungen, die auf Benutzerzuständen oder Eigenschaften basieren, die in der Befehlszeile festgelegt sind, sind nicht geeignet, da sie dazu führen können, dass das Installationsprogramm bei jeder Verwendung durch eine*n andere*n Benutzer*in eine Neuinstallation des Produkts erfordert.
Hinweis
Sofern das Transitive-Bit in der Spalte „Attributes“ nicht für eine Komponente festgelegt ist, bleibt die Komponente nach der Installation aktiviert, auch wenn die bedingte Anweisung in der Spalte „Condition“ bei einer nachfolgenden Wartungsinstallation des Produkts FALSE ergibt.
Wenn eine Anwendung transitive Komponenten enthält, benötigt Windows Installer in den meisten Fällen die Quelle der Anwendung, um die Anwendung zu reparieren oder zu aktualisieren. In diesen Fällen funktioniert die von einem Originalgerätehersteller gelieferte CD-ROM für die Systemwiederherstellung nicht, und es muss eine tatsächliche Installationsquelle für die Anwendung bereitgestellt werden.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für