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

Bri*_*ian 10 deployment installation windows-installer wix wix3.5

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

Bri*_*ian 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" />
Run Code Online (Sandbox Code Playgroud)

有关此属性的更详细的文章可以在这篇博客文章中找到.


joe*_*age 6

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

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

  • 我的猜测也是创建一个恢复点,这是你的问题.试试这个:http://stackoverflow.com/a/6866634/600559 (2认同)

Cos*_*rvu 5

发生这种情况是因为Windows正在检查包是否具有数字签名.

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

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