2016-06-29 3 views
0

Я пытаюсь обнаружить условие установки в исходном файле Wix Bootstrapper (* .wxs). Wix объявляет «Запись встроенных переменных» в документацию here.Под какими условиями записи Wix являются Wix «Запись встроенных переменных»?

Мой исходный код выглядит следующим образом:

<util:RegistrySearch 
    Id="SearchForMyProduct" 
    Variable="MyProductIsInstalled" 
    Result="exists" 
    Root="HKLM" 
    Key="SYSTEM\CurrentControlSet\services\MyProduct" /> 

<bal:Condition Message="service was found. MyProduct is already installed. Please uninstall and try again"> 
    (WixBundleAction = 3) AND (MyProductIsInstalled = 0) 
</bal:Condition> 

Я не вижу в журнале ожогового что WixBundleAction установлен. Независимо от того, какое значение я тестирую с помощью WixBundleAction, (WixBundleAction = 3) является FALSE. Поведение одинаково, независимо от того, выполняю ли я установщик с помощью двойного щелчка или из командной строки.

ответ

0

Это зависит от переменной. Для WixBundleAction в документации указано, что это происходит, когда пуск запускается (на основе параметров командной строки) и во время фазы Плана.

WixBundleAction - set to the numeric value of BOOTSTRAPPER_ACTION 
        from the command-line and updated 
        during the call to IBootstrapperEngine::Plan(). 
Смежные вопросы