1

プロジェクト構成に基づいて Wix チェックボックスを無効にしようとしています。これまでのところ、うまくいきませんでした。誰かがそれを機能させる方法を知っていますか?

<Control
  Id="cbxXXX"
  Type="CheckBox"
  Property="XXX"
  X="20"
  Y="100"
  Width="290"
  Height="12"
  Text="xxxx"
  CheckBoxValue="True"
>
  <Condition Action="disable>$(var.Project.Configuration) = "DEBUG</Condition>
</Control>
4

2 に答える 2

0

私は WIX GUI の変更の経験がほとんどありませんが、MSI プロパティについて知っておく必要がある概念の 1 つは、Property={} を使用してそれらを「未定義」にできるということです。

任意の値で定義されたプロパティは、チェックされたプロパティに値があるため、NOT UPGRADINGPRODUCTCODE などの論理テストに失敗します。NOT UPGRADINGPRODUCTCODE は、「このプロパティは定義されていないため、存在しません」と同じです。GUI でチェック ボックスのチェックを外すには、この未定義の状態が必要です。チェック状態がチェックされていない場合は 0、チェックされている場合は 1 などの値が原因であると考える開発者にとっては、非常に直感に反することはわかっています。VB6 の開発者は「未定義の概念」に精通している可能性があると聞いています。

MSI GUI の 1 つの議論については、このスレッドを参照してください: msiexec コマンド ラインからチェック ボックスを "unchecked" に設定するには?

于 2014-04-12T10:57:08.080 に答える