<p>I am reading WIX script written by others. There are some code really confuses me. </p>

<pre><code>&lt;Custom Action='UnLoadSchedulerPerfCounters' After='InstallInitialize'&gt;
    &lt;![CDATA[(Installed) AND (!Scheduler = 3)]]&gt;
&lt;/Custom&gt;
&lt;Custom Action='RollbackSchedulerPerfCounters' After='WriteRegistryValues'&gt;
        &lt;![CDATA[(&amp;Scheduler = 3)]]&gt;
&lt;/Custom&gt;
</code></pre>

<p>So, what's the difference between <code>!Scheduler</code> and <code>&amp;Scheduler</code>?
Is any special meaning when property is prefix-ed by <code>&amp;</code> or <code>!</code>?</p>

From
http://www.tramontana.co.hu/wix/lesson5.php#5.3
:
Prepending some special characters to
  the names will give them extra
  meaning:
```
```
%     environment variable (name is case insensitive)
$     action state of component
?     installed state of component
&     action state of feature
!     installed state of feature
```
```
The last four can return the following
  integer values:
```
```
-1   no action to be taken
1    advertised (only for components)
2    not present
3    on the local computer
4    run from the source
```
```