当安装和卸载Windows Installer软件包或MSI文件时,它们的安装进度明显慢于其他安装软件包。
为什么会这样,我该怎么做才能加快速度?
当安装和卸载Windows Installer软件包或MSI文件时,它们的安装进度明显慢于其他安装软件包。
为什么会这样,我该怎么做才能加快速度?
Answers:
3
或7
)Windows Installer会话的慢速很大程度上归因于其回滚功能。首先,它会在安装或卸载之前创建一个还原点(前提是尚未禁用系统还原)。然后,它将在卸载和安装过程中备份所有受影响的文件和注册表项,以确保在发生错误时可以将系统还原到其原始状态。Windows Installer的更高版本提供了一些方法来禁用这种复杂性并加快处理速度。请参阅下面的技术信息。
另一个速度因素是MSI中的所有组件和功能都将在注册表中注册。这涉及相当多的开销,但是对于实现重要的公司部署和系统管理利益是必需的。没有其他部署技术具有此控制级别。
带有嵌入式源文件的大型MSI文件可能需要很多时间才能将其安装程序文件提取到temp文件夹中。有时这可能是最大的瓶颈。建议运行管理员安装以从此类包中提取源文件,以便它们与MSI文件本身并排出现,从而无需在每台计算机上本地提取文件,从而节省了部署时间。这是另一篇文章,以简单的术语描述了从MSI包中提取文件的过程。
更新(2018年2月):您可以在非常特殊的情况下设置一个名为FASTOEM的属性(请参阅链接内容),以加快部署速度。我从没有尝试过,但是值得一读。我怀疑您能否成功有效地使用它,但值得一试。
在撰写本文时,Windows Installer的最新更新是Windows Installer 5(在Windows Server 2012,Windows 8,Windows Server 2008 R2或Windows 7上可用),具有新属性MSIFASTINSTALL,可用于加快安装 Windows XP的速度。大的MSI软件包。有关有效值,请参见上面的链接。我建议3对没有恢复点,只有FileCosting(确定磁盘空间要求的过程)。或7也可以减少进度消息的频率。
正常的“ 成本核算 ”功能包括系统上存在的内容和要安装的内容之间的大量功能,组件,磁盘和注册表比较和计算。在我看来,大多数情况几乎是没有必要的(客户端PC上通常有足够的磁盘空间-并在2018年使用较小的SD磁盘的现实中,空间问题可能已经浮出水面了……),但将其放满显然更安全成本核算。
msiexec.exe / I“ D:\ winzip112.msi” / QN MSIFASTINSTALL = 3
也可以将DISABLEROLLBACK属性设置为禁用MSI安装程序中的回滚支持。除非您要安装一台新PC,否则我强烈建议您不要使用它。这是一种特殊情况,如果出现故障您可以重新开始。对于实际使用的计算机,我不建议启用此属性。
具有讽刺意味的是,如果您正在运行替换大量文件的大型更新程序包或进行任何大型卸载,则禁用回滚将最大程度地提高速度(因为卸载会将所有已删除的文件移动到回滚区域)。这可能非常重要,但不安全。您只需在命令行上设置此属性:msiexec.exe / I“ D:\ winzip112.msi” / QN MSIFASTINSTALL = 3 DISABLEROLLBACK = 1
最后,如背景信息中所述,运行MSI文件的管理安装以提取文件,这样就不会在每台计算机上本地进行提取。假设您使用的是相当快的网络,并且文件复制的发生没有太多延迟。我想如果要提取的小文件必须一一复制,高延迟无线网络可能会使事情变慢。您只需将/ a传递到安装文件即可运行管理员安装:
setup.exe / a
要么
msiexec / a“ D:\ winzip112.msi”
然后,您需要按照提示并为文件选择一个提取位置。有关讨论此功能的主题,请参见superuser.com。
一些链接:
速度:
MSIFASTINSTALL
吗?没有ER
尾巴。