在我的托管 Bootstrap 的 bundle.wxs 中,我链接了多个包:
<Chain>
<ExePackage Id="Test1"......>
<ExePackage Id="Test2"......>
<ExePackage Id="MicrosoftVCPP2005Redistributable" SourceFile="..\Tools\VC2005Redistributable\vcredist_x86.exe" Vital="yes" InstallCondition="SelectedDBSize1 = 24" />
</Chain>
我正在订阅 ExecutePackageBegin
/ExecutePackageComplete
事件来检查当前正在执行哪个包,并相应地显示进度文本以指示正在进行的安装。
但是,如果由于某种原因回滚操作在中途开始,我想更改进度文本以指示回滚正在进行中。从安装切换到回滚时是否有可用的事件?还是我必须检查被调用的包的顺序并据此做出决定?
最佳答案
该属性的文档有点错误,但 ExecutePackageBeginEventArgs
类的 ShouldExecute
属性会告诉您包是正在“执行”还是“回滚”。在您的情况下,当 ExecutePackageBeginEventArgs.ShouldExecute=false
时,您就知道该包正在回滚。
关于WiX Bootstrap : Rollback notification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15408323/