我正在使用 WIX 工具包开发 Windows 安装程序,并且在安装过程中弹出 UAC 对话框需要永远(15-45 秒)。有什么办法可以加快速度吗?
3 回答
感谢 joegrage 为我指明了正确的方向。诀窍似乎是MSIFASTINSTALL
财产。
该MSIFASTINSTALL
属性可用于减少安装大型 Windows Installer 程序包所需的时间。该属性可以在命令行或属性表中设置,以配置用户或开发人员确定对安装不是必需的操作。
MSIFASTINSTALL 属性的值可以是以下值的组合。
价值 意义 ----- --------------------------------------------- -------------- 0 默认值 1 没有为此安装保存系统还原点。 2 仅执行文件成本核算并跳过检查其他成本。 4 减少进度消息的频率。
在 WIX 中,您可以使用这些值的组合,如下所示:
<Property Id="MSIFASTINSTALL" Value="3" />
可以在此博客文章中找到有关此属性的更详细的文章。
每次使用 Windows Installer 安装软件时,都会在进行实际安装之前创建一个还原点。参考:http: //msdn.microsoft.com/en-us/library/aa372060.aspx
您可以在注册表中将其关闭:http: //msdn.microsoft.com/en-us/library/aa369758.aspx
发生这种情况是因为 Windows 正在检查包是否具有数字签名。
不幸的是,数字签名验证算法不是很好。此外,其性能取决于封装尺寸。所以更大的包裹会有更长的延迟。
为避免延迟,您可以在 MSI 中添加一个简单的 EXE 引导程序。其目的是通过应用程序清单请求提升并在其旁边启动 MSI。如果您没有在其中包含您的 MSI,则引导程序将具有较小的尺寸。所以数字签名检查会非常快。