断电后恢复安装

时间:2013-10-23 08:35:54

标签: wix bootstrapper wix3.7

我有一个托管的bootstrapper应用程序,它使用wix 3.7。

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

1 个答案:

答案 0 :(得分:0)

引导程序不是为跟踪任意安装程序的进度而设计的。每次运行时,它都会发现它本身已完全安装并执行其修改/删除行为,或者它没有执行其安装行为。

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

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

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

正常安装案例:

  1. 第一个不运行,
  2. 第二个完全运行。
  3. 恢复安装情况,重新开始:

    1. 第一个不运行,
    2. 第二个运行但
    3. 中断
    4. 启动并再次启动
    5. 第一个运行
    6. 如果再次发生中断,则返回两步
    7. 第二个不运行
    8. 如果在Bundle中不方便,可以在安装程序周围编写一个无法应对的强大包装器。当然,这假定您可以根据计算机的状态判断何时应使用Resume命令与Install命令。