Como instalar o recurso com base na propriedade definida na ação personalizada?

Estou tentando instalar um dos dois recursos com base no valor que deve ser definido dentro da ação personalizada.
Primeiramente, defino o valor de uma propriedade:

UINT __stdcall ConfigurationCheckAction(MSIHANDLE hInstall)
{
    HRESULT hr = S_OK;
    UINT er = ERROR_INSTALL_FAILURE;

    hr = WcaInitialize(hInstall, "ConfigurationCheckAction"); 
    if (condition) {
         MsiSetProperty( hInstall, TEXT("STREAM"), TEXT("RED") );
    }
    else {
         MsiSetProperty( hInstall, TEXT("STREAM"), TEXT("BLUE") );
    } 
    return WcaFinalize(er);
}

Em segundo lugar, faço duas condições por dois recursos:

<Feature Id='Complete' Level='1'>
     <Feature Id="Red" ConfigurableDirectory="TARGETDIR" Title="F1" Level="0">
     <Condition Level="1">STREAM</Condition>
     </Feature>
     <Feature Id="Blue" ConfigurableDirectory="TARGETDIR" Title="F2" Level="0">
     <Condition Level="1">NOT STREAM</Condition>
     </Feature>
</Feature>

Observe que eu não defino a propriedade dentro do arquivo wxs anteriormente, pois gostaria de defini-la a partir da ação personalizada.

Minha ação personalizada é chamada antes que InstallInitialize and Execute seja imediato.

No log de instalação, tenho confirmação de que a propriedade está definida. No entanto, minha instalação condicional não funciona, pois parece que o que está na condição é sempre avaliado como falso.

Tentei avaliar as condições: STREAM, STREAM = VERMELHO, STREAM = "VERMELHO", <! [CDATA [STREAM = RED]]>

Estou ficando sem ideias sobre o que fazer e gostaria de receber ajuda.

questionAnswers(3)

yourAnswerToTheQuestion