gpt4 book ai didi

windows - Wix 工具包 - MSI 安装程序 - 启动已安装的应用程序时,窗口的弹出窗口不断出现

转载 作者:可可西里 更新时间:2023-11-01 10:12:15 26 4
gpt4 key购买 nike

我有一个 WiX 脚本,它创建一个安装程序,在 Microsoft Windows 7 和 10 机器上静默安装应用程序。没有选项,因此不需要 GUI。

一些客户提示说,当他们启动已安装的应用程序时(在成功安装很久之后),Windows 会弹出 MSI 安装程序消息“Windows 正在配置 [APPLICATION_NAME],请稍候”。他们说每次都会发生这种情况,并且它的运行时间与最初安装所花的时间差不多。

我过去常常得到这个,并认为这是因为一些安装的文件已被修改。我的结论是,当 MSI 第二次和后续运行时,它会用安装程序中的原始文件覆盖修改后的文件。

因为这些文件打算在安装后进行修改,所以我在它们的组件定义中添加了“NeverOverwrite="yes"',如下所示:

<Component Id="..." NeverOverwrite="yes" Directory="..." Guid="...">

到目前为止,这似乎解决了问题。有什么我应该关注或进一步调查的想法吗?

最佳答案

Short Answer: This is an MSI self-repair problem.

  1. Work out what component triggers the self-repair. Details below.
  2. Correct the situation by making changes to the setup eliminating the conflict situation.

self 修复:这是 MSI 常见的经典“意外 self 修复”问题满足特定条件时打包。关于这个问题我已经写了很多次了,所以我会回收一些答案。我认为最容易获得的答案可能是这两个(请至少阅读第一个链接):

使用事件日志进行调试:要确定触发 self 修复的 MSI 组件,您需要通过检查事件日志 进行调试。 Stefan Kruger 的常见问题条目对此进行了描述:Windows Installer launches unexpectedly, for no obvious reason .或者阅读 Flexera 的文章:Understanding Windows Installer (MSI) Self-Repair (具有漂亮的屏幕截图)。

组件和产品:当您有违规组件 GUID 时,您可以通过运行此 VBScript 确定它属于哪个产品:Look Up Products for Component .它可能是另一种产品 - 如果不只是打开您产品的 MSI 文件并找到组件的 key 路径。

详细信息:以及带有完整解释的非常深入的答案。对于实际问题尝试加粗的第三个链接:

  1. Self-repair - explained
  2. Self-repair - finding real-world solutions
  3. Self-repair - how to avoid it in your own package

其他资源:

关于windows - Wix 工具包 - MSI 安装程序 - 启动已安装的应用程序时,窗口的弹出窗口不断出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53730785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com