Windows Installer 程序包可能会在安装和卸载期间显示不准确的进度

本文介绍安装或卸载期间剩余的百分比、进度栏和时间并不总是准确的。

适用于: Windows Installer
原始 KB 数: 2533844

现象

大多数使用 Windows Installer 服务的安装和卸载都有显示剩余时间的对话框。 这可以显示为百分比、分钟数和秒数、进度栏或组合。

在某些情况下, 标准 Windows Installer 进度对话框时间估计将波动,并且不会显示剩余的真实时间。

原因

有许多因素会严重影响显示,尤其是在尝试确定剩余的实际时间时。 例如,在卸载期间拥有大量文件会影响计算。 目标计算机上的资源也引入了差异,因为子系统(CPU、内存、磁盘速度和网络)将以不同的速率响应。

详细信息

Windows Installer 的现有内部 UI 不提供唯一设置或复杂方案所需的灵活性。 安装程序作者希望 Windows Installer 的内部 UI 不支持 UI 体验,请使用 MsiSetExternalUIA 函数(msi.h) / MsiSetExternalUIRecord 函数(msi.h)来初始化和使用其自定义 UI。 有关如何使用这些 API 控制自己的用户体验的信息,请参阅以下链接:

当对话框剩余零(0)分钟时,你可能会看到类似的 MSI 详细日志记录条目:

00503393 52260.63281250 [1560]
00503394 52261.12109375 [1560] MSI (s) (s) (18:0C) [08:30:23:270]: 验证文件的可访问性: File65053.txt
00503395 52261.12500000 [1560]
00503396 52261.62109375 [1560] MSI (s) (s) (18:0C) [08:30:23:770]: 正在执行 op:FileRemove(,FileName=File65054.txt,,ComponentId={041D91CF-DF4B-4945-B8E5-03FBE723ACD2})
00503397 52261.62500000 [1560]
00503398 52262.12109375 [1560] MSI (s) (s) (18:0C) [08:30:24:270]: 验证文件的可访问性: File65054.txt
00503399 52262.12500000 [1560]
00503400 52262.61718750 [1560] MSI (s) (s) (18:0C) [08:30:24:770]: 正在执行 op:FileRemove(,FileName=File65055.txt,,ComponentId={041D91CF-DF4B-4945-B8E5-03FBE723ACD2})
00503401 52262.62890625 [1560]
00503402 52263.11328125 [1560] MSI (s) (s) (18:0C) [08:30:25:270]: 验证文件的可访问性: File65055.txt
00503403 52263.12109375 [1560]
00503404 52263.61718750 [1560] MSI (s) (s) (18:0C) [08:30:25:770]: 正在执行 op:FileRemove(,FileName=File65056.txt,ComponentId={041D91CF-DF4B-4945-B8E5-03FBE723ACD2})
00503405 52263.62500000 [1560]
00503406 52264.11718750 [1560] MSI (s) (s) (18:0C) [08:30:26:270]: 验证文件的可访问性: File65056.txt
00503407 52264.12500000 [1560]
00503408 52264.61328125 [1560] MSI (s) (s) (18:0C) [08:30:26:770]: 执行操作: FileRemove(,FileName=File65057.txt,ComponentId={041D91CF-DF4B-4945-B8E5-03FBE723ACD2}) 00503409 52