3

I'm currently implementing a wix(3.8) installer and the main MSI is merged with several other merge modules. I'm taking a user input during the installation and I store it in a global property called PORT like this.

In the MSI

<Property Id='PORT' Value="1">

I need to access this property value inside a condition in my merge module to edit a XML file if that condition is true. So I passed this property to the merge module as a configuration like this.

In MSI

<ConfigurationData Name="PROTOCOL" Value="[PORT]" />

In MSM

<Property Id="protocol"/>
<Configuration Name="PROTOCOL" Format="Text" DefaultValue="[protocol]"/>
<Substitution Table='CustomAction' Row='SetProtocol' Column='Target' Value='[=PROTOCOL]'/>
<CustomAction Id='SetProtocol' Property='protocol' Value='[protocol]'/>

I used the value of the property "protocol" inside my condition as below but the condition never executes.

<Condition>protocol = 1</Condition>

I tried by appending the property id with the merge module's GUID as well like this and accessing that property "NEWPORT" inside the condition. but didn't success.

<Property Id='NEWPORT' Value='[protocol.8c2910c9-5694-4312-a4cc-c9b2c2a5caa5]'/>

What would be the reason for this ? Can someone please tell me the way to access the property value in MSI within Merge module's condition element.

Thanks in advance.

diyath.nelaka
  • 193
  • 14

0 Answers0