我有一个WiX脚本,该脚本创建一个安装程序,该安装程序静默放置Microsoft Windows 7和10计算机中的应用程序。没有选项,因此不需要GUI。
一些客户端抱怨说,当他们启动已安装的应用程序时(成功安装很久之后),Windows弹出MSI安装程序消息“请等待,Windows正在配置[APPLICATION_NAME]”。他们说,这种情况每次都会发生,并且其运行时间与最初安装所需的时间差不多。
我过去常常得到更多,并认为这是因为某些已安装文件已被修改。我得出的结论是,当MSI第二次运行时,它将用安装程序中的原始文件覆盖修改后的文件。
由于打算在安装后修改这些文件,因此我在其Component定义中添加了'NeverOverwrite =“ yes”',如下所示:
<Component Id="..." NeverOverwrite="yes" Directory="..." Guid="...">
到目前为止,这似乎可以解决问题。有什么想法我应该考虑或进一步调查吗?
答案 0 :(得分:1)
简短答案 :这是一个MSI自修复问题。
- 计算出触发自我修复的组件。详细信息如下。
- 通过更改设置以消除冲突情况来纠正情况。
自我修复 :这是MSI常见的经典“ 意外自我修复 ”问题当满足某些条件时打包。关于这个问题,我已经写了很多次了,我将回收一些答案。我认为最容易获得的答案可能是以下两个(请至少阅读第一个链接):
使用事件日志进行调试 :要确定哪个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文件并找到组件的密钥路径。
详细信息 :非常深入的答案以及完整的说明。请尝试使用粗体的第三个链接来解决实际问题:
其他资源 :