我正在使用WIX工具包开发Windows安装程序,安装过程中会弹出UAC对话框需要花费很长时间(15-45秒)。有什么方法可以加快速度吗?
答案 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,则引导程序的大小会很小。因此,数字签名检查将非常快。