Что означает «и» и «!» перед именем свойства? - PullRequest
5 голосов
/ 29 октября 2008

Я читаю сценарий WIX, написанный другими. Там какой-то код действительно смущает меня.

<Custom Action='UnLoadSchedulerPerfCounters' After='InstallInitialize'>
    <![CDATA[(Installed) AND (!Scheduler = 3)]]>
</Custom>
<Custom Action='RollbackSchedulerPerfCounters' After='WriteRegistryValues'>
        <![CDATA[(&Scheduler = 3)]]>
</Custom>

Итак, в чем разница между !Scheduler и &Scheduler? Есть ли какое-либо особое значение, когда свойство имеет префикс & или !?

Ответы [ 2 ]

7 голосов
/ 29 октября 2008

С http://www.tramontana.co.hu/wix/lesson5.php#5.3:

Добавление некоторых специальных символов к имена дадут им дополнительную что означает:

%     environment variable (name is case insensitive)
$     action state of component
?     installed state of component
&     action state of feature
!     installed state of feature

Последние четыре могут вернуть следующее целые значения:

-1   no action to be taken
1    advertised (only for components)
2    not present
3    on the local computer
4    run from the source
5 голосов
/ 29 октября 2008

Это операторы в синтаксисе условия установщика Windows. Смотрите полный список документации MSI SDK: http://msdn.microsoft.com/en-us/library/aa368012.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...