It looks like they are checking a component's installation action, that
is, what the installer intends to do with the component. In this case,
"$C__installscript" is the component ID (from the component table) and
">2" means check to see if we are trying to install the component or run
it from source. See below (from the Conditional Statement Syntax of the
Platform SDK: Windows Installer section):
"Feature and Component State Values
The following table shows where it is valid to use the feature and
component operator symbols.
Operator <state>
Where this syntax is valid
$component-action
In the Condition
<ms-help://MS.PSDKSVR2003SP1.1033/msi/setup/condition_table.htm> table,
and in the sequence tables, after the CostFinalize
<ms-help://MS.PSDKSVR2003SP1.1033/msi/setup/costfinalize_action.htm>
action.
&feature-action
In the Condition table, and in the sequence tables, after the
CostFinalize action.
!feature-state
In the Condition table, and in the sequence tables, after the
CostFinalize action.
?component-state
In the Condition table, and in the sequence tables, after the
CostFinalize action.
The following table shows the feature and component state values used in
conditional expressions. These states are not set until
MsiSetInstallLevel
<ms-help://MS.PSDKSVR2003SP1.1033/msi/setup/msisetinstalllevel.htm> is
called, either directly or by the CostFinalize
<ms-help://MS.PSDKSVR2003SP1.1033/msi/setup/costfinalize_action.htm>
action.
State
Value
Meaning
INSTALLSTATE_UNKNOWN
-1
No action to be taken on the feature or component.
INSTALLSTATE_ADVERTISED
1
Advertised feature. This state is not available for components.
INSTALLSTATE_ABSENT
2
Feature or component is not present.
INSTALLSTATE_LOCAL
3
Feature or component on the local computer.
INSTALLSTATE_SOURCE
4
Feature or component run from the source.
For example, the conditional expression "&MyFeature=3" evaluates to True
only if MyFeature is changing from its current state to the state of
being installed on the local computer, INSTALLSTATE_LOCAL.
Note that you should not depend upon the condition $Component1=3 to
check whether Component1 is locally installed on the computer. This can
fail if Component1 is installed by more than one product. After
Component1 has been installed locally by Product1, the installer
evaluates the condition $Component1=3 as False during the installation
of Product2. This is because the installer determines the version of the
component using the component's key path and marks the component for
installation if its version is greater than or equal to the installed
component.
Note that the installer will not do direct comparisons of the Version
<ms-help://MS.PSDKSVR2003SP1.1033/msi/setup/version.htm> data type in
conditional statements. For example, you cannot use comparative
operators to compare versions such as "01.10" and "1.010" in a
conditional statement. Instead use a valid method to search for a
version, such as described in Searching for Existing Applications,
Files, Registry Entries or .ini File Entries
<ms-help://MS.PSDKSVR2003SP1.1033/msi/setup/searching_for_existing_appli
cations_files_registry_entries_or__ini_file_entries.htm> , and then set
a property.
Jim
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Mailinglist
Sent: Tuesday, November 20, 2007 4:52 AM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] i want to know what this means
Hi,
this code starts a custom action called "_CA_installscript" after
starting up services. It is only executed, if
"$C__installscript"-Variable/Funktion returns a value greater then 2.
For better Help on this, you should provide more of the code.
Regards,
Oliver
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Abubakar
Sent: Dienstag, 20. November 2007 12:31
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] i want to know what this means
Hi,
i'm lookin at some installer's source and I find the following line:
<Custom Action="_CA_installscript"
After="StartServices"><![CDATA[$C__installscript>2]]></Custom>
It helps in launching a exe file at the start of installation. I dont
understand what does C__installscript>2 means. What is "2" and why the
greate-than sign used. And why are we doing this?
Regards,
..ab
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users