【问题标题】:Why does the UAC dialog take a long time to be displayed?为什么 UAC 对话框需要很长时间才能显示?
【发布时间】:2012-05-15 08:34:18
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    感谢 joegrage 为我指明了正确的方向。这个技巧似乎是MSIFASTINSTALL 属性。

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

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

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

    在 WIX 中,您可以像这样使用这些值的组合:

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

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

    【讨论】:

    • 引用的链接已失效:(
    • @GTAE86 已删除链接。帖子中包含的文本是从 MSDN 页面逐字复制的,因此您需要知道的内容已经在帖子中。
    【解决方案2】:

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

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

    【讨论】:

    【解决方案3】:

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

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

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

    【讨论】:

    • 我试试看效果如何。
    猜你喜欢
    • 1970-01-01
    • 2010-12-06
    • 2020-11-08
    • 2020-01-14
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2013-02-06
    相关资源
    最近更新 更多