2015-04-07 2 views
1

Внутри моих главных .wxs, у меня есть такие компоненты, как:WIX - Состояние на ComponentGroupRef после использования heat.exe

<Component Id="Component1" Guid="FBE06968-502C-4FFB-82F8-A314AD7D5789" Directory="INSTALLFOLDER"> 
    <Condition>$(var.CheckBoxB3)=1</Condition> 
    <File Name="File.dll" Source="$(var.BinDir)File.dll" /> 
    </Component> 

И это работает прекрасно. Файл установлен с установленным флажком.

Я решил добавить все файлы из определенного каталога с помощью heat.exe.

1 - я добавил сгенерированный .wxs файл в моем проекте

2 - я добавил хороший идентификатор внутри элементов каталогов

3 - я добавил новую функцию внутри одной и той же функции, содержащей мои элементы, вот моя новая функция:

<Feature Id="ProductFeatureExamples" Title="Examples" Level="1"> 
    <Condition Level="1">$(var.CheckBoxB3)=1</Condition> 
    <ComponentGroupRef Id="ExamplesComponents"/> 
    </Feature> 

Хорошая часть: все файлы внутри сгенерированных wws установлены.

Плохая часть: состояние не работает. Файлы всегда устанавливаются.

Я пытаюсь понять, почему мое состояние не работает? Это то же условие, что и в предыдущих компонентах.

Я не хочу добавлять условие во все элементы в сгенерированном файле .wxs, потому что их много, а также не очень полезно, когда мне нужно восстановить файл.

У кого-нибудь есть идея?

Спасибо.

+0

Попробуйте установить уровень функции до 0 –

+0

Я нашел решение. – PatrickB

ответ

1

Я нашел решение. Я не искал способ использования условий с функциями. изменить условие построчно:

<Condition Level="0">$(var.CheckBoxB3)=""</Condition> 

моем случае это означает: изменить эту функцию на уровне 0 (не использовать эту функцию), если флажок не имеет никакого значения (не проверено).

Это не для меня ясно, как сказать: $ (var.CheckBoxB3) не равен 1

<> Не workign потому, что внутри XML

! означает, что еще одна вещь

! = не существует

Любая идея кого-то?

+0

У вас есть два варианта для условия: "1"]]> или $ (var.CheckBoxB3) < > «1». – jbudreau

+0

Ох ОК. Огромное спасибо! – PatrickB

Смежные вопросы