Verwenden von transitiven Komponenten

Eine typische Verwendung für transitive Komponenten besteht darin, ein Produkt während eines Systemupgrades neu zu installieren. Der Autor des Installationspakets gibt diese 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 schließen Sie zwei transitive Komponenten in das Installationspaket ein

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

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

  3. Fügen Sie das msidbComponentAttributesTransitive-Bit in die Spalte "Attribute" der Tabelle "Komponente" für jede transitive Komponente ein. Wenn dieses Bit festgelegt ist, wertet der Installer den Wert der Anweisung in der Bedingungsspalte nach einer Neuinstallation erneut ab.

    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, wird die Komponente entfernt, auch wenn die Komponente andere Produkte als Clients enthält.

    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 auf "False" ausgewertet wird. Die Bedingungen müssen nur auf Computerzuständen basieren. Verwenden Sie nicht mit Bedingungen basierend auf Benutzerzuständen oder Eigenschaften, die auf der Befehlszeile festgelegt sind, da dies dazu führen kann, dass das Installationsprogramm eine Neuinstallation des Produkts für jede Verwendung durch einen anderen Benutzer erfordert.

     

  4. Geben Sie ergänzende bedingte Ausdrücke in die Bedingungsfelder der Steuerelementtabelle ein, sodass sich die Bedingung für die erste transitive Komponente in "False" der zweiten transitiven Komponente in "True" ändert. Dies führt zum Entfernen der ersten Komponente und Installation der zweiten Komponente nach 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 grundsätzlich 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 basierend auf Benutzerzuständen oder Eigenschaften, die auf der Befehlszeile festgelegt sind, da dies dazu führen kann, dass das Installationsprogramm eine Neuinstallation des Produkts für jede Verwendung durch einen anderen Benutzer erfordert.

Hinweis

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

Wenn eine Anwendung transitive Komponenten enthält, erfordert Windows Installer die Quelle der Anwendung, um die Anwendung zu reparieren oder zu aktualisieren. In diesen Fällen funktioniert das von einem Originalgerätehersteller gelieferte Systemwiederherstellungs-CD-ROM nicht und eine tatsächliche Installationsquelle für die Anwendung muss bereitgestellt werden.