2

「デスクトップアイコンのインストール」チェックボックスを備えたカスタムUIが書き込みにあります。また、MSI(これもWiXで作成)には、Burnに置き換えているものと同じものがあります。問題は、Burnがチェックボックスの値を0または1(経由MsiProperty)に設定しているように見えるのに対し、私のMSIはNULLまたはを期待していることNOT NULLです。Burnからチェックボックス値を送信しようとすると、MSIによって常にNOTNULLとして評価されます。WiXプロジェクトを編集して変更できることがわかりました。

<Condition>DESKTOP_ICONS</Condition>

に:

<Condition>DESKTOP_ICONS = 1</Condition>

これで問題は解決します。しかし、チェックボックスの値に基づいてBurnにNULLまたはNOT NULLをMSIに渡す方法はありますか?

4

1 に答える 1

0

Burn は "true" と "checked" を "1" として扱い、"0" を false として扱います。ただし、数値プロパティを「NULL」に変換するカスタム アクションを MSI で作成できます。次のようになります。

<SetProperty Id="NULL" Value="1" After="AppSearch">DESKTOP_ICONS = 1</SetProperty>

プロパティが「1」に設定されている場合、名前付きのProperty「NULL」(プロパティのかなり面白い名前、IMHO)が定義されます。DESKTOP_ICONS

于 2013-03-08T16:50:11.527 に答える