我想檢查用戶是否已經傳遞了USERNAME的參數,默認值是本地的。如果值是本地的,我想看看我是否收到了一條消息。問題在於以下方式。這不起作用。使用條件來比較WiX中的變量值
<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,但我們無法進行比較。我在這裏做錯了什麼?或者有這種問題的另一種方式?
嗨娜塔莉,感謝您的想法,但我想的是,如果用戶輸入用戶名的值(命令行)應該安裝在一個自定義帳戶的服務,如果沒有服務應該安裝在本地系統中。我想篩選用戶是否提及了USERNAME,以正確的帳戶安裝服務 – 2013-03-15 11:37:13
我用樣本更新了我的答案 – 2013-03-15 11:59:36