全局程序集缓存中程序集的回滚

一个两步骤过程可以将 Windows Installer 的事务模型扩展到包含公共语言运行时程序集的产品。 这使得安装程序能够回滚不成功的程序集安装和删除。

在第一步中,Windows Installer 使用 Microsoft .NET Framework 为每个程序集创建一个接口。 Windows Installer 使用与正在安装的程序集数目一样多的接口。 使用这些接口之一提交某个程序集仅意味着该程序集已准备好替换同名的任何现有程序集,但尚未替换它。 如果用户取消安装,或者存在严重安装错误,则 Windows Installer 仍可以通过释放这些接口将程序集回滚到其以前的状态。

在 Windows Installer 完成安装所有程序集和 Windows Installer 组件后,安装程序可以启动安装的第二步。 第二步使用单独的函数执行所有新的公共语言运行时程序集的最终提交。 这将替换同名的任何现有程序集。