Verwenden transitiver Komponenten

Eine typische Verwendung für transitive Komponenten ist die Vorbereitung eines Produkts für die Neuinstallation während eines Systemupgrades. Der Autor des Installationspakets gibt die Komponenten an, die während eines Systemupgrades ausgetauscht werden müssen, da sie das transitive Attribut aufweisen. Wenn der Benutzer das System später aktualisiert, 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

  1. Schließen Sie beide transitiven Komponenten in das Installationspaket ein.

  2. Erstellen Sie beide transitiven Komponenten in der Komponententabelle genauso wie reguläre Komponenten. Jede transitive Komponente muss über eine eigene eindeutige GUID verfügen, die in der ComponentId-Spalte angegeben ist.

  3. Schließen Sie das Bit msidbComponentAttributesTransitive für jede transitive Komponente in die Attributes -Spalte der Component-Tabelle ein. Wenn dieses Bit festgelegt ist, wertet das Installationsprogramm bei einer Neuinstallation den Wert der Anweisung in der Spalte Bedingung erneut 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 wenn die Komponente ü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. Verwenden Sie nicht mit Bedingungen, die auf Benutzerzuständen oder Eigenschaften basieren, die in der Befehlszeile festgelegt sind, da dies dazu führen kann, dass das Installationsprogramm bei jeder Verwendung durch einen anderen Benutzer eine Neuinstallation des Produkts erfordert.

  4. Geben Sie ergänzende bedingte Ausdrücke in die Felder Bedingung der Control-Tabelle ein, sodass die Bedingung für die erste transitive Komponente in False geändert wird, die Bedingung für die zweite transitive Komponente in True geändert wird. Dies führt dazu, dass die erste Komponente entfernt und die zweite Komponente nach der Neuinstallation der Anwendung installiert wird.

Eine Neuinstallation des Produkts ist erforderlich, um die transitiven Komponenten zu wechseln. Paketautoren müssen benutzern 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:

Das Bit sollte nur mit Bedingungen verwendet werden, die auf Computerzuständen basieren. Verwenden Sie nicht mit Bedingungen, die auf Benutzerzuständen oder Eigenschaften basieren, die in der Befehlszeile festgelegt sind, da dies dazu führen kann, dass das Installationsprogramm bei jeder Verwendung durch einen anderen Benutzer eine Neuinstallation des Produkts erfordert.

Hinweis

Sofern das Transitive Bit in der Spalte Attribute nicht für eine Komponente festgelegt ist, bleibt die Komponente nach der Installation aktiviert, auch wenn die bedingungsbedingte Anweisung in der Spalte Bedingung bei einer nachfolgenden Wartungsinstallation des Produkts als False ausgewertet wird.

Wenn eine Anwendung transitive Komponenten enthält, erfordert 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.