加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-installer – 为什么Windows Installer一次只能安装一个

发布时间:2020-12-13 19:28:57 所属栏目:Windows 来源:网络整理
导读:我一直想知道为什么 Windows Installer一次只允许您安装一个程序.如果不能启动多个安装,尤其是在设置Windows的新安装时,这是非常令人沮丧的.这是什么原因? 当并发安装发生时,保证正确性是非常复杂的 – 假设它们共享一些文件.这需要某种形式的交易. 您需要
我一直想知道为什么 Windows Installer一次只允许您安装一个程序.如果不能启动多个安装,尤其是在设置Windows的新安装时,这是非常令人沮丧的.这是什么原因?
当并发安装发生时,保证正确性是非常复杂的 – 假设它们共享一些文件.这需要某种形式的交易.

>您需要锁定文件
>如果安装失败,应该可以撤消中间更改(不确定,如果现在可以吗?)

这些概念在事务性数据库中是已知的 – 但主题并不简单,并且您通常在文件系统中找不到完全事务性的基础结构(即使日记文件系统提供了其中的一部分).一个问题是,多个锁可能导致死锁 – 然后您需要死锁检测(或两个安装程序将永远挂起),以及一种处理它的方法.可以避免死锁(例如,始终以相同的顺序锁定文件),但还有其他问题:

如果您预先锁定了所有必需的文件,则可以有效地获得所需的文件:一个安装程序必须等到另一个安装程序完成.如果您未预先锁定所有必需的文件,并继续运行,则可能会导致“事务”失败.这意味着,必须重新启动其中一个安装程序.

然后你可能不得不考虑事务隔离级别 – 完全正确,你的事务必须是“serializable” – 但这并不容易,即使对于许多数据库也是如此.

甚至可能存在处理问题的替代策略,这避免了完全隔离,但通常更难以证明其正确性.

我相信,在并发安装的情况下,我们会遇到更多棘手的安装后问题 – 特别是因为我不认为,操作系统供应商(或分销商)会经历所有麻烦以使其100%清洁.所以我宁愿不使用它,即使它是由操作系统提供的.

注意

但也许你真正想要的甚至不是“同时”安装.也许这就足够了,如果你可以排队安装,然后一个接一个地执行(理想情况下没有问任何问题).这真的是一些东西,其他一些OS(发行版)处理得更好.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读