Wix Custom action set value from CA to wix

2019-04-24 12:28发布

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

2条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-04-24 12:54

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.

查看更多
聊天终结者
3楼-- · 2019-04-24 12:58

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.

查看更多
登录 后发表回答