Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the meaning of '&' and '!' before property name?

Tags:

wix

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

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

So, what's the difference between !Scheduler and &Scheduler? Is any special meaning when property is prefix-ed by & or !?

like image 287
Morgan Cheng Avatar asked Oct 29 '08 10:10

Morgan Cheng


2 Answers

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
like image 181
xsl Avatar answered Oct 03 '22 06:10

xsl


Those are operators on the Windows Installer condition syntax. See this MSI SDK documentation for a complete list: http://msdn.microsoft.com/en-us/library/aa368012.aspx.

like image 30
Rob Mensching Avatar answered Oct 03 '22 07:10

Rob Mensching