为什么UAC对话框需要很长时间才能显示?

时间:2012-05-06 15:44:43

标签: deployment wix windows-installer installation wix3.5

我正在使用WIX工具包开发Windows安装程序,安装过程中会弹出UAC对话框需要花费很长时间(15-45秒)。有什么方法可以加快速度吗?

3 个答案:

答案 0 :(得分:8)

感谢joegrage指出我正确的方向。对此的诀窍似乎是MSIFASTINSTALL属性。

MSIFASTINSTALL属性可用于减少安装大型Windows Installer程序包所需的时间。可以在命令行或“属性”表中设置该属性,以配置用户或开发人员确定对安装不重要的操作。

MSIFASTINSTALL属性的值可以是以下值的组合。

value  Meaning 
-----  -----------------------------------------------------------
0      Default value
1      No system restore point is saved for this installation.
2      Perform only File Costing and skip checking other costs.
4      Reduce the frequency of progress messages.

在WIX中,您可以使用这些值的组合,如下所示:

<Property Id="MSIFASTINSTALL" Value="3" />

有关此属性的更详细的说明可以在this博客文章中找到。

答案 1 :(得分:6)

每次使用Windows Installer安装软件时,都会在执行实际安装之前创建还原点。参考:http://msdn.microsoft.com/en-us/library/aa372060.aspx

您可以在注册表中关闭此功能:http://msdn.microsoft.com/en-us/library/aa369758.aspx

答案 2 :(得分:5)

这是因为Windows正在检查包是否有数字签名。

不幸的是,数字签名验证算法并不是很好。此外,其性能取决于封装尺寸。因此,更大的包装会有更长的延迟。

为了避免延迟,您可以向MSI添加一个简单的EXE引导程序。它的目的是通过application manifest请求提升并在其旁边启动MSI。如果您不在其中包含MSI,则引导程序的大小会很小。因此,数字签名检查将非常快。