Använda transitiva komponenter
En vanlig användning för transitiva komponenter är att förbereda en produkt för ominstallation under en systemuppgradering. Författaren till installationspaketet anger de komponenter som måste bytas ut under en systemuppgradering som har det transitiva attributet. När användaren senare uppgraderar systemet måste produkten installeras om. Vid den här ominstallationen tar installationsprogrammet bort de tidigare komponenterna och installerar de senare komponenterna utan att behöva installera hela produkten.
Om du vill inkludera två transitiva komponenter i installationspaketet
Inkludera båda transitiva komponenterna i installationspaketet.
Skapa båda transitiva komponenterna i komponenttabellen på samma sätt som vanliga komponenter. Varje transitiv komponent måste ha ett eget unikt GUID som anges i kolumnen ComponentId.
Ta med msidbComponentAttributesTransitive bit i kolumnen Attribut i tabellen Komponent för varje transitiv komponent. Om den här biten är satt omvärderar installationsprogrammet värdet av utsagan i kolumnen Villkor när programmet installeras om.
Om värdet tidigare var Falskt och har ändrats till Sant installerar installationsprogrammet komponenten.
Om värdet tidigare var Sant och har ändrats till False tar installationsprogrammet bort komponenten även om komponenten har andra produkter som klienter.
Not
Om inte den transitiva biten har angetts förblir komponenten aktiverad när den har installerats även om villkorssatsen utvärderas till False vid en efterföljande underhållsinstallation av produkten. Villkoren får endast baseras på datortillstånd. Använd inte med villkor baserat på användartillstånd eller egenskaper som angetts på kommandoraden eftersom detta kan göra att installationsprogrammet kräver en ominstallation av produkten vid varje användning av en annan användare.
Ange kompletterande villkorsuttryck i fälten Villkor i tabellen Kontroll så att när villkoret för den första transitiva komponenten ändras till False ändras villkoret för den andra transitiva komponenten till True. Detta resulterar i borttagning av den första komponenten och installation av den andra komponenten vid ominstallation av programmet.
En ominstallation av produkten krävs för att växla de transitiva komponenterna. Paketförfattarna måste därför ge användarna en metod för att installera om produkten och för att ange lägena för egenskapen REINSTALLMODE. Det finns i princip tre sätt att utlösa ominstallationen:
- Kör och konfigurera ominstallationen via användargränssnittet genom att skapa ett paket som använder det fullständiga användargränssnittet.
- Kör ominstallationen från kommandoraden med hjälp av msiexec /f och välj lägena i listan för kommandoradsalternativet /f.
- Låt applikationen anropa MsiReInstallProduct eller MsiReInstallFeature.
Biten ska endast användas med villkor baserade på datortillstånd. Använd inte med villkor baserat på användartillstånd eller egenskaper som angetts på kommandoraden eftersom detta kan göra att installationsprogrammet kräver en ominstallation av produkten vid varje användning av en annan användare.
Obs
Om inte den transitiva biten i kolumnen Attribut har angetts för en komponent förblir komponenten aktiverad när den har installerats även om villkorssatsen i kolumnen Villkor utvärderas till False vid en efterföljande underhållsinstallation av produkten.
I de flesta fall, om ett program innehåller transitiva komponenter, kräver Windows Installer att programmets källa reparerar eller uppgraderar programmet. I dessa fall fungerar inte systemåterställning CD-ROM som levereras av en originalutrustningstillverkare och en faktisk installationskälla för programmet måste tillhandahållas.