Sdílet prostřednictvím


Použití tranzitivních komponent

Typickým použitím přechodných komponent je příprava produktu na přeinstalaci během upgradu systému. Autor instalačního balíčku určuje komponenty, které je potřeba během upgradu systému prohodit, protože mají tranzitivní atribut. Když uživatel později upgraduje systém, musí být produkt přeinstalován. Po této přeinstalaci instalační program odebere předchozí komponenty a nainstaluje novější komponenty, aniž by musel instalovat celý produkt.

Zahrnutí dvou tranzitivních komponent do instalačního balíčku

  1. Do instalačního balíčku zahrňte obě tranzitivní komponenty.

  2. Zaznamenejte obě přechodné komponenty do tabulky komponent stejně jako běžné komponenty. Každá tranzitivní komponenta musí mít vlastní jedinečný identifikátor GUID zadaný ve sloupci ComponentId.

  3. Zahrňte msidbComponentAttributesTransitive bit do sloupce Atributy tabulky Komponent pro každou tranzitivní komponentu. Pokud je tento bit nastavený, instalační program znovu vyhodnocuje hodnotu příkazu ve sloupci Podmínka při přeinstalaci.

    Pokud byla hodnota dříve False a změnila se na True, instalační program nainstaluje komponentu.

    Pokud byla hodnota dříve True a změnila se na False, instalační program odebere komponentu i v případě, že komponenta má jiné produkty jako klienty.

    Poznámka

    Pokud není přechodný bit nastaven, zůstane komponenta po instalaci povolená, i když se podmíněný příkaz při následné údržbové instalaci produktu vyhodnotí jako false. Podmínky musí být založeny pouze na stavech počítače. Nepoužívejte podmínky na základě stavů uživatele nebo vlastností nastavených na příkazovém řádku, protože to může způsobit, že instalační program vyžaduje přeinstalaci produktu na každém použití jiným uživatelem.

     

  4. Do polí Podmínka v tabulce Control zadejte doplňkové podmíněné výrazy tak, že když se podmínka u první tranzitivní komponenty změní na False, změní se podmínka na druhé tranzitivní komponentě na Hodnotu True. Výsledkem je odebrání první komponenty a instalace druhé komponenty při přeinstalaci aplikace.

Přeinstalace produktu je nutná k přepnutí tranzitivních komponent. Autoři balíčků proto musí uživatelům poskytnout metodu pro přeinstalaci produktu a pro nastavení režimů vlastnosti REINSTALLMODE. V podstatě existují tři způsoby aktivace přeinstalace:

  • Spusťte a nakonfigurujte přeinstalaci prostřednictvím uživatelského rozhraní vytvořením balíčku, který používá úplné uživatelské rozhraní.
  • Spusťte přeinstalaci z příkazového řádku pomocí msiexec /f a v seznamu vyberte režimy pro možnost příkazového řádku /f.
  • Nechte aplikaci zavolat MsiReInstallProduct nebo MsiReInstallFeature.

Bit by se měl používat pouze s podmínkami založenými na stavech počítače. Nepoužívejte podmínky na základě stavů uživatele nebo vlastností nastavených na příkazovém řádku, protože to může způsobit, že instalační program vyžaduje přeinstalaci produktu na každém použití jiným uživatelem.

Poznámka

Pokud není tranzitivní bit ve sloupci Atributy nastaven pro komponentu, zůstane komponenta po instalaci povolena, i když se podmíněný příkaz ve sloupci Podmínka vyhodnotí jako False při následné instalaci produktu.

Ve většině případů, pokud aplikace obsahuje tranzitivní komponenty, Windows Installer vyžaduje zdrojové soubory aplikace k její opravě nebo upgradu. V těchto případech obnovení systému CD-ROM dodávaná výrobcem původního zařízení nefunguje a je třeba poskytnout skutečný zdroj instalace aplikace.