Verwenden transitiver Komponenten

Eine typische Verwendung für transitive Komponenten besteht darin, ein Produkt vorzubereiten, das während eines Systemupgrades neu installiert wird. Der Autor des Installationspakets gibt die Komponenten an, die während eines Systemupgrades als transitives Attribut ausgetauscht werden müssen. Wenn der Benutzer das System später aktualisiert, muss das Produkt neu installiert werden. Bei dieser Neuinstallation entfernt das Installationsprogramm die früheren Komponenten und installiert die späteren Komponenten, ohne das gesamte Produkt installieren zu müssen.

So fügen Sie zwei transitive Komponenten in das Installationspaket ein

  1. Fügen Sie zwei transitive Komponenten in das Installationspaket ein.

  2. Erstellen Sie zwei transitive Komponenten in der Component-Tabelle, die mit regulären Komponenten identisch sind. Jede transitive Komponente muss über eine eigene eindeutige GUID verfügen, die in der Spalte „ComponentId“ angegeben ist.

  3. Schließen Sie das msidbComponentAttributesTransitive-Bit in die Spalte „Attributes“ der Component-Tabelle für jede transitive Komponente ein. Wenn dieses Bit festgelegt ist, wertet das Installationsprogramm den Wert der Anweisung in der Spalte „Bedingung“ bei einer Neuinstallation neu aus.

    Wenn der Wert zuvor „False“ war und sich in „True“ geändert hat, 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 andere Produkte als Clients hat.

    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 müssen nur auf Computerzuständen basieren. Verwenden Sie es nicht mit Bedingungen, die auf Benutzerzuständen oder in der Befehlszeile festgelegten Eigenschaften basieren, da dies dazu führen kann, dass das Installationsprogramm bei jeder Verwendung durch einen anderen Benutzer eine Neuinstallation des Produkts anfordert.

     

  4. Geben Sie ergänzende bedingte Ausdrücke in die Bedingungsfelder der Control-Tabelle ein, sodass, wenn sich die Bedingung für die erste transitive Komponente in „False“ ändert, sich die Bedingung für die zweite transitive Komponente in „True“ ändert. Dies führt zur Entfernung der ersten Komponente und Installation der zweiten Komponente bei der Neuinstallation der Anwendung.

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 Wesentlichen drei Möglichkeiten, die Neuinstallation auszulösen:

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

Hinweis

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

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 vom Originalgerätehersteller gelieferte CD-ROM zur Systemwiederherstellung nicht und es muss eine tatsächliche Installationsquelle für die Anwendung bereitgestellt werden.