Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wix Custom action set value from CA to wix

In deferred ( with impoersonate = no) to send the Value to the WIX to CA, i am using set property and value

and collecting the data in CA using session.CustomActionData["key"];

Is there any way to send back the data to the WIX from CA

<Property Id="RESTART" Secure="yes" Value="false" />

In immediate i was using,

session["RESTART"] = "true" 

... how to achieve this in deferred CA

like image 653
asvignesh Avatar asked Aug 07 '17 13:08

asvignesh


2 Answers

You cannot modify the session from a deferred custom action; at that point, MSI is executing its script and there's no session to speak of. So you can't set a property. You need some other mechanism to communicate status. WiX's native library includes the functions WcaDeferredActionRequiresReboot to flag that a reboot is required and WcaDidDeferredActionRequireReboot for an immediate custom action scheduled after InstallFinalize to detect the reboot status.

like image 146
Bob Arnson Avatar answered Nov 03 '22 12:11

Bob Arnson


You can add an InstallFinalize immediate custom action, which is positioned after all deferred actions, and there you can reset the bundle's (XML) "RESTART" to whatever you want, because session will be available again.

like image 34
Jonathan Monsonego Avatar answered Nov 03 '22 10:11

Jonathan Monsonego