断电后继续安装

Posted

技术标签:

【中文标题】断电后继续安装【英文标题】:Resume installation after a power off 【发布时间】:2013-10-23 08:35:54 【问题描述】:

我有一个使用 wix 3.7 的托管引导程序应用程序。

在执行其中一个 ExePackage 的过程中,如果出现强制关机或断电,那么当系统重新启动并且用户再次启动引导程序时,它应该从它停止的最后一个 ExePackage 恢复。 Command 参数的值是“Install”而不是“Resume”。 如何确保它以“恢复”命令开始。

【问题讨论】:

【参考方案1】:

引导程序并非旨在跟踪任意安装程序的进度。每次运行时,它要么发现它本身已完全安装并执行其修改/删除行为,要么它没有并执行其安装行为。

在安装过程中,链中的每个 ExePackage 都有一个可选的检测条件。如果条件不存在或失败,则执行该包的 InstallCommand。

因此,理想情况下,安装程序应该自行解决是否只是部分安装,然后做正确的事情。 (换句话说,要像 Windows Installer 和其他精心设计的安装程序一样健壮。)

如果您无法更改但可以将此类检测条件写入您的 Bundle,您可以尝试在您的链中添加两个 ExePackage 元素,1) 在安装程序已部分安装的情况下运行 Resume 命令,然后 2)在安装程序未完全安装的情况下运行安装命令。

正常安装案例:

    第一个没有运行, 第二个运行完毕。

恢复安装案例,重新开始:

    第一个没有运行, 第二个运行但是 中断 通电再走 第一个运行 如果再次出现中断,则返回两步 第二个没有运行

如果在您的 Bundle 中执行此操作不方便,您可以在无法处理的安装程序周围编写一个强大的包装器。当然,这假设您可以根据机器的状态判断何时应该使用 Resume 命令和 Install 命令。

【讨论】:

以上是关于断电后继续安装的主要内容,如果未能解决你的问题,请参考以下文章

手机app测试

WIN取消100M隐藏分区异常断电后绕过修复模式

移动端测试

移动端测试过程

错误描述:Java 安装时断电,再次安装java时,提示“您的电脑上已经安装了此软件。是不是要重新安装”

linux断电后如何修复