【发布时间】:2014-12-05 20:04:36
【问题描述】:
我正在使用WiX Burn 创建一个托管引导程序应用程序。我需要处理一些可能需要强制重启的ExePackage elements。 This question 有一些关于如何处理重启的诱人线索,但我无法让它正常工作。
我在ExePackage 元素中有<ExitCode Value="3010" Behavior="forceReboot" />,我可以在日志中看到触发。我正在收听BootstrapperApplication 引发的Shutdown 事件并设置e.Result = Result.Restart,尽管我还没有弄清楚如何捕获在应用阶段检测到强制重启时应该何时发生这种情况的条件.我在Run 的Run 方法中测试if (Command.Resume == ResumeType.Reboot),直接进入我的自定义UI 的进度条部分,但我不确定如何从中断的地方恢复应用阶段。在这种情况下,我需要致电Engine.Detect() 或Engine.Apply 吗?是否需要采取一些特殊操作来保持和恢复状态以在重新启动后继续存在,或者 Burn 引擎是否在内部处理所有这些?
如果有人能指出一个处理重启的 WiX Burn 托管引导程序应用程序的工作示例,我将不胜感激。
【问题讨论】: