在延迟的自定义操作之间传递数据

Coc*_*lla 2 .net windows-installer custom-action wix

我需要将数据从一个延迟的.NET自定义操作传递到另一个,但我无法弄清楚如何执行此操作.

延迟的自定义操作无法访问Windows Installer会话,因此不能选择会话属性.目标延迟自定义操作已经采用从早期直接自定义操作设置的自定义操作数据,但我似乎无法从源延迟操作中修改此操作.

我也尝试在自定义操作类上使用静态属性,但正如预期的那样,这也不起作用.

我可以在源操作中写入注册表并在目标操作中将其读回,但这看起来有点hacky.当然,有一种更标准的方法可以在延迟的自定义操作之间传递数据?

Ert*_*maa 5

是的,好问题.

当然,有一种更标准的方法可以在延迟的自定义操作之间传递数据?

不,据我所知,没有这样的标准系统.

说实话,延迟动作可以读取属性已经是奇迹CustomActionData- 这是通过生成执行脚本时通过某种元数据完成的.延迟操作只能访问少数有限的属性,并且无法与MSI数据库交互.

有关更多信息,请参阅获取延迟执行自定义操作的上下文信息.这不是WiX限制,而是MSI.

如你所说,要么查看临时文件夹或注册表 - 虽然不一定方便或不好 - 如果仔细完成它将非常好用.

如果您有兴趣了解有关MSI architecure的更多信息,这是一个非常好的链接:http://bonemanblog.blogspot.co.uk/2005/10/custom-action-tutorial-part-i-custom.html