如何加快 MSI 包的安装和卸载速度?

如何加快 MSI 包的安装和卸载速度?

安装和卸载时Windows 安装程序包或称为 MSI 文件,安装进度会显示明显变慢与其他安装包相比。

为什么会出现这种情况?我该怎么做才能加快速度

答案1

快速摘要

  • 极品速度属性调整:
    • 微软快速安装(尝试一下,也许3或者7
    • 法斯托(三思而后行,必须阅读文档)
    • 禁用回滚(理解它的含义,会导致 MSI 包中的自定义操作无法运行!这取决于 MSI 设计 - 寻找犯罪-回滚自定义操作
  • 安全软件可以暂停以加快安装速度。
    • 尝试在安装时禁用 - 扫描您的安装程序病毒总站
  • 尝试从管理映像替代信息)(无需提取文件)。
    • 从本地管理映像运行速度最快。
    • 如果使用网络管理映像,高延迟网络可能会减慢安装速度吗?
      • 每个文件(小文件)的开销可能很高。
      • 下载单个 CAB 可能会更快(这里病毒检查可能需要很长时间)?
  • 系统还原可以在机器上全局禁用(而不仅仅是通过 MSIFASTINSTALL)。

背景信息

Windows 安装程序会话缓慢的主要原因是其回滚功能。首先,它创建一个还原点在安装或卸载之前(前提是系统还原尚未被禁用)。然后它将备份所有受影响的文件和注册表项在卸载和安装过程中,确保系统在发生错误时可以恢复到其原始状态。Windows Installer 的更高版本提供了一些方法来禁用部分复杂性并加快速度。请参阅下面的技术信息。

另一个速度因素是MSI 中的所有组件和功能都将在注册表中注册.这涉及相当多的开销,但必须实现重要的企业部署和系统管理优势. 没有其他部署技术具备这种级别的控制。

大型 MSI 文件嵌入的源文件可能需要很长时间才能将其安装程序文件提取到临时文件夹。这有时可能是最大的瓶颈。建议运行管理员安装从这样的包中提取源文件,使它们与 MSI 文件本身并排显示,从而无需在每台机器上本地提取文件,从而节省部署时间。这是另一篇文章,描述了简单来说,从 MSI 包中提取文件


技术信息


更新(2018 年 2 月):您可以设置一个名为法斯托在非常特殊的情况下(见链接内容)可以加快部署速度。我从未尝试过,但值得一读。我怀疑您是否能成功有效地使用它,但可能值得一试。


撰写本文时 Windows Installer 的最新更新,Windows 安装程序 5(适用于 Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7),具有新属性微软快速安装可用于加速大型 MSI 包的安装。请参阅上面的链接了解有效值。我建议3为了没有还原点,并且仅文件成本核算(确定磁盘空间需求的过程)。或者7也减少进度消息的频率。

普通的 ”成本核算“具有大量功能、组件、磁盘和注册表比较和计算,这些比较和计算是系统上现有的和正在安装的内容。在我看来,其中大部分都是没有必要的(客户端 PC 上的磁盘空间通常很充足 - 而在 2018 年,由于 SD 磁盘较小,空间问题可能再次出现...),但显然让全成本运行更安全。

msiexec.exe /I “D:\winzip112.msi” /QN MSIFASTINSTALL=3

还可以设置禁用回滚属性以禁用 MSI 安装程序中的回滚支持。我强烈建议不要使用此功能,除非您正在准备一台全新的 PC。这是一个特殊情况,如果出现故障,您可以重新开始。对于实际使用的计算机,我不建议启用此属性。

讽刺的是,如果您正在运行替换大量文件的大型更新包或任何大型卸载程序(因为卸载会将所有已删除的文件移至回滚区域),则禁用回滚将最大程度地加快速度。这可能非常重要,但不安全。您只需在命令行中设置此属性:msiexec.exe /I“D:\winzip112.msi”/QN MSIFASTINSTALL=3 DISABLEROLLBACK=1

管理安装

最后,如上文背景信息中所述,运行行政安装MSI 文件以提取文件,这样提取就不会在每台机器上本地进行。这假设您处于一个相当快的网络上,并且文件复制不会发生太多延迟。我认为高延迟无线网络可能会使提取的小文件变得更慢,因为必须逐个复制这些小文件。您只需将 /a 传递给安装文件即可运行管理员安装:

安装.exe /a

或者

msiexec /a “D:\winzip112.msi”

然后您需要按照提示选择文件的提取位置。请参阅超级用户网讨论此功能的帖子。


一些链接

速度:

相关内容