デフォルト値がローカルである USERNAME の引数をユーザーが渡したかどうかを確認したい。値がローカルの場合にメッセージが表示されるかどうかを確認しようとしています。問題は次の方法です。これはうまくいきません。
<Property Id="USERNAME" Value="local"/>
<?define uName = [USERNAME]?>
<?if $(var.uName) = local ?>
<Condition Message="$(var.uName)">0</Condition>
<?endif?>
しかし、コードを次のように変更すると、メッセージが表示されます。
<?define uName = local?>
<?if $(var.uName) = local ?>
<Condition Message="$(var.uName)">0</Condition>
<?endif?>
uName
次のコードは、USERNAME プロパティの値を変数に割り当てます。
<Property Id="USERNAME" Value="local"/>
<?define uName = [USERNAME]?>
<Condition Message="$(var.uName)">0</Condition>
上記のコードは、メッセージ ボックスに「local」を出力します。
多くのシナリオを試し、問題の場所を突き止めることができました。として割り当てられている変数値を比較する場合、
<?define uName = [USERNAME]?>
値は uName に割り当てられていますが、比較を行うことはできません。私はここで何か悪いことをしていますか? または、この種の問題の別の方法はありますか?