2014-04-12 63 views
1

我試圖根據項目配置禁用wix複選框。到目前爲止它沒有工作。有人知道如何使其工作?使用條件元素禁用WIX中的複選框

<控制> ID =「cbxXXX」Type =「CheckBox」Property =「XXX」X =「20」Y =「100」Width =「290」Height =「12」Text =「xxxx」CheckBoxValue =「真」

<條件操作= 「禁用」 > $(var.Project.Configuration)= 「DEBUG」 < /條件>

< /控制>

提前感謝!

回答

0

我幾乎沒有使用WIX GUI修改的經驗,但是您需要了解有關MSI屬性的一個概念是,您可以使用Property = {}來「取消」它們。

一旦使用任何值定義屬性,就會失敗邏輯測試,例如NOT UPGRADINGPRODUCTCODE,因爲檢查的屬性具有值。 NOT UPGRADINGPRODUCTCODE等於「此屬性未定義,不存在」。要取消GUI中的複選框,這個未定義的狀態就是你所需要的 - 我知道這對開發人員來說是非常不直觀的,因爲開發人員會認爲檢查狀態是由於值爲0而未檢查的,而1爲檢查的。我被告知VB6開發人員可能更熟悉「未定義的概念」。

有關MSI GUI的一個討論,請參閱此主題:How to set a check box to "unchecked" from the msiexec command line?