我有一个托管bootstrapper应用程序,它使用Wix3.7。
在执行其中一个ExePackages的过程中,如果出现强制关机或断电的情况,那么当系统重新启动并且用户再次启动引导程序时,它应该从上次停止的ExePackage恢复。Command参数的值是"Install“,而不是"Resume”。我如何确保它作为一个“恢复”命令启动。
发布于 2013-10-24 11:22:42
引导程序不是为跟踪任意安装程序的进度而设计的。每次运行时,它要么发现自己已完全安装并执行其修改/删除行为,要么未发现并执行其安装行为。
在安装过程中,链中的每个ExePackage都有一个可选的检测条件。如果该条件不存在或失败,则执行该包的InstallCommand。
因此,理想情况下,安装程序应该找出自己是否只安装了部分,然后再做正确的事情。(换句话说,要像Windows Installer和其他设计良好的安装程序一样健壮。)
如果你不能改变这一点,但是可以将检测到的条件写入你的包中,你可以尝试在你的链中有两个ExePackage元素,1)在你的安装程序部分安装的情况下运行Resume命令,2)在你的安装程序没有完全安装的情况下运行Install命令。
正常安装情况:
继续安装案例,重新开始:
第一个不运行,第二个运行but
<>H119>第二个不运行
如果在Bundle中这样做不方便,您可以在安装程序周围编写一个健壮的包装器,但不能处理。当然,这是假设您可以根据机器的状态来判断何时应该使用恢复命令和安装命令。
https://stackoverflow.com/questions/19536771
复制相似问题