我有一个托管的bootstrapper应用程序,它使用wix 3.7。
在执行其中一个ExePackage的过程中,如果出现强制关机或电源关闭,那么当系统重新启动并且用户再次启动引导程序时,它应该从最后一个ExePackage恢复停止。 Command参数的值为“Install”而不是“Resume”。 如何确保它作为“恢复”命令启动。
答案 0 :(得分:0)
引导程序不是为跟踪任意安装程序的进度而设计的。每次运行时,它都会发现它本身已完全安装并执行其修改/删除行为,或者它没有执行其安装行为。
在安装过程中,链中的每个ExePackage都有一个可选的检测条件。如果条件不存在,或者失败,则执行该包的InstallCommand。
因此,理想情况下,安装程序应该理解它是否仅部分安装,然后做正确的事情。 (换句话说,像Windows Installer和其他精心设计的安装程序一样健壮。)
如果您无法更改但可以将此类检测条件写入您的Bundle,您可以尝试在链中使用两个ExePackage元素,1)在部分安装安装程序的情况下运行Resume命令,然后2)在安装程序未完全安装的情况下运行Install命令。
正常安装案例:
恢复安装情况,重新开始:
如果在Bundle中不方便,可以在安装程序周围编写一个无法应对的强大包装器。当然,这假定您可以根据计算机的状态判断何时应使用Resume命令与Install命令。