如果在安装过程中安装失败,则会通过安装程序回滚最近的更改,但是当用户通过“取消”按钮取消它时,安装程序只会失败,而不是回滚最近的更改。
如果用户通过按钮取消安装,我们如何触发回滚过程?
答案 0 :(得分:0)
回滚 :这很旧,但仅用于记录:如果安装程序未按 installation sequence
(其中文件和注册表项以及诸如此类的东西将被添加或修改)-与 user interface sequence
(收集安装选择和设置)相反-应该没有回滚的内容。当安装在系统上进行了更改并且发生致命错误时,将发生回滚,因此必须撤消整个安装。当您通常在屏幕上看到进度条时,这是在用户界面排序之后。
安装事务 :可能会从UI序列中错误地进行更改。 It is always a design error to do so
,因为除了 {strong> InstallInitialize
和 InstallFinalize
之间的操作外,不会发生任何回滚> InstallExecuteSequence
。在其他序列中从其他位置进行的任何其他更改将不会回滚。从InstallInitialize直到并包括 InstallFinalize
的序列是作为可回滚的事务运行的安装的一部分,所有其他序列均不应更改系统(但有时它们可以)。