10

我正在使用 WIX 工具包开发 Windows 安装程序,并且在安装过程中弹出 UAC 对话框需要永远(15-45 秒)。有什么办法可以加快速度吗?

4

3 回答 3

8

感谢 joegrage 为我指明了正确的方向。诀窍似乎是MSIFASTINSTALL财产。

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

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

价值 意义
----- --------------------------------------------- --------------
0 默认值
1 没有为此安装保存系统还原点。
2 仅执行文件成本核算并跳过检查其他成本。
4 减少进度消息的频率。

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

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

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

于 2012-11-21T15:28:30.713 回答
6

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

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

于 2012-05-07T01:44:30.247 回答
5

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

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

为避免延迟,您可以在 MSI 中添加一个简单的 EXE 引导程序。其目的是通过应用程序清单请求提升并在其旁边启动 MSI。如果您没有在其中包含您的 MSI,则引导程序将具有较小的尺寸。所以数字签名检查会非常快。

于 2012-05-07T06:31:54.343 回答