Transitive components are those which evaluate their conditions during repair/modify mode. The creator of the installation package specifies those components that need to be swapped out during a system upgrade as having the transitive attribute.
Learn more aobut these components (and how they can change your life, or not) here.
Let's take an example:
Component name: MYCOMPONENT
Condition on component: VARFLAG="TRUE"
Description: Installs a text file (mytest.txt for example) in Program Files\Test
If this component was non transitive, it would evaluate the condition VARFLAG="TRUE" only at install time to determine if the file mytest.txt should be installed or not. Now, if you were to repair this package, the condition on the component is not evaluated and the file mytest.txt is not removed if VARFLAG<>"TRUE".
If this component was transitive then it would evaluate the condition VARFLAG="TRUE" both at install time and repair/modify time to determine if the file mytest.txt should be installed/removed or not. If you were to repair this package, the condition on the component is evaluated and the file mytest.txt is either installed (If VARFLAG="TRUE") or removed (if VARFLAG<>"TRUE").
The transitive bit can be set on components by using msidbComponentAttributesTransitive i.e. 64 in the Attributes column of the Component table.