2017-01-23 24 views
3

我有一个要求,我需要执行一个自定义操作,如果安装程序失败(自动或手动失败从另一个自定义操作返回ActionResult.Failure)。 我试过 <Custom Action="CallMe" After="InstallFinalize"></Custom> 但是CA没有被调用。 任何帮助表示赞赏。Wix:在显示失败屏幕之前调用哪个CustomAction?

编辑:从日志中发现它是“FatalError”自定义操作。但后来这样<Custom Action="CallMe" Before="FatalError"></Custom>抛出 Error 8 Unresolved reference to symbol 'WixAction:InstallExecuteSequence/FatalError' in section 'Product:*'

+0

什么的CallMe自定义操作呢?最佳做法是为每个已授权的CA实施回滚CA.所以,如果出现故障,机器将返回到prev状态。 –

+0

我想要做的就是登录。根据我的研究,我们不能从UISequence中的自定义操作(由控件事件触发)执行任何操作。我打算将所有内容写入静态字符串对象,并将日志附加到该字符串对象中。成功后,我可以使用session.Log将其转储到日志文件。我也想在安装失败时也这样做。 [这个黑客](http://stackoverflow.com/questions/3494101/wix-c-sharp-custom-action-logging-not-working#)将是我的第二个选择。 – Vasudev

+0

您是否尝试过: OnExit的值为成功,取消,错误,暂停 –

回答

1

您可以使用

<Custom Action="CallMeCancel" OnExit="cancel" /> 
    <Custom Action="CallMeError" OnExit="error" /> 

的值的OnExit是成功的,取消,错误,暂停

相关问题