我想检查用户是否传递了默认值为本地的 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?>
以下代码将 USERNAME 属性的值分配给uName
变量。
<Property Id="USERNAME" Value="local"/>
<?define uName = [USERNAME]?>
<Condition Message="$(var.uName)">0</Condition>
上面的代码在消息框中打印“本地”。
我尝试了很多场景,并且可以找到问题所在。在比较分配为的变量值时,
<?define uName = [USERNAME]?>
尽管该值已分配给 uName,但我们无法进行比较。我在这里做错什么了吗?或者这种问题还有其他方法吗?