This must be helpful. Pay special attention to the bottom of the page, a guideline of 2 steps how to pass values via CustomActionData.
Here is the excerpt:
To write the value of a property into the installation script for use
during a deferred execution custom action:
- Insert a small custom action into the installation sequence that sets the property of interest to a property having the same name as
the deferred execution custom action. For example, if the primary key
for the deferred execution custom action is “MyAction” set a property
named “MyAction” to the property X which you need to retrieve. You
must set the “MyAction” property in the installation sequence before
the “MyAction” custom action. Although any type of custom action can
set the context data, the simplest method is to use a property
assignment custom action (for example Custom Action Type 51).- At the time when the installation sequence is processed, the installer will write the value of property X into the execution script
as the value of the property CustomActionData.