[英]How to set WiX property from deferred CustomAction (c++ dll)
我有一个WiX安装程序,它在c ++ dll中运行extern函数作为自定义操作( Execute="deferred"
)。 我通过设置属性将所需的属性值传递给它,该属性与CustomAction的ID( 下面 的示例中的 custActID ) 非常相似 。
<CustomAction Id="SetOutputProperty" Property="custActID"
Value="ONE=[ONE];TWO=[TWO];THREE=[THREE];" />
<CustomAction Id="custActID"
BinaryKey="BIN_MY_DLL"
DllEntry="dllEntryFunction"
Impersonate="no"
Execute="deferred"
Return="check"
HideTarget='yes' />
然后我可以使用以下命令获取c ++ dll中的所有数据:
MsiGetProperty(hInstall, "CustomActionData")
我的问题 : 是否有可能从这个dll中设置WIX中的一些属性 ?
所以:我有一个ptoperty,在Wix中说THREE
。 我将它传递给dll。 Dll将从用户那里获得一些数据(如果它们是正确的,以某种特殊的方式验证它们),最后更新这个rproperty THREE
。 我想把它传递给WIX。
不,延迟的自定义操作无法设置属性。 运行延迟自定义操作时,已设置自定义操作数据,因此自定义操作不会影响传递给以后自定义操作的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.