En utilisant si la condition de comparer des valeurs de variables dans WiX

Je veux vérifier si l'utilisateur a passé un argument pour le nom d'utilisateur pour lequel la valeur par défaut est locale. Je suis en train de voir si je je reçois un message si la valeur est local. Le problème est dans la manière suivante. Cela ne fonctionne pas.

<Property Id="USERNAME" Value="local"/>
<?define uName = [USERNAME]?>

<?if $(var.uName) = local ?>
      <Condition Message="$(var.uName)">0</Condition>
<?endif?>

Mais, si je change le code pour la suite il donnera le message.

<?define uName = local?>

<?if $(var.uName) = local ?>
      <Condition Message="$(var.uName)">0</Condition>
<?endif?>

Et le code suivant affecte la valeur de la propriété USERNAME de la uName variable.

<Property Id="USERNAME" Value="local"/>
<?define uName = [USERNAME]?>
<Condition Message="$(var.uName)">0</Condition>

Le code ci-dessus impressions de "local" dans une boîte de message.

J'ai essayé de nombreux scénarios et de trouver où est le problème. Lorsque l'on compare les valeurs de la variable, qui est affecté comme,

<?define uName = [USERNAME]?>

Si la valeur est affectée à la commande uName, nous ne pouvons pas faire la comparaison. Suis-je en train de faire quelque chose de mal ici? Ou est-il un autre moyen pour ce genre de problème?

OriginalL'auteur Isuru Gunawardana | 2013-03-15