Wix工具包-MSI安装程序-启动已安装的应用程序时,窗口的弹出窗口不断出现 [英] Wix Toolkit - MSI Installer - Window's pop-up constantly appears when installed application is launched
问题描述
我有一个WiX脚本,该脚本创建一个安装程序,该安装程序以静默方式放置Microsoft Windows 7和10计算机中的应用程序.没有选项,因此不需要GUI.
I have a WiX script that creates an installer that lays down an application in Microsoft Windows 7 and 10 machines silently. There are no options so there is no need for a GUI.
一些客户端抱怨说,当他们启动已安装的应用程序(成功安装后很久)时,Windows弹出MSI安装程序消息请稍候,Windows会配置[APPLICATION_NAME]".他们说,这种情况每次都会发生,并且其运行时间与最初安装所需的时间差不多.
Some of the clients are complaining that when they launch the installed application (long after it was successfully installed), Windows pop-ups up the MSI installer message "Please wait while Windows configures [APPLICATION_NAME]". They say this happens every time and it runs for about as long as it originally took to install.
我过去常常得到更多,并认为这是因为某些已安装文件已被修改.我得出的结论是,当MSI第二次运行时,它将用安装程序中的原始文件覆盖修改后的文件.
I used to get this a whole lot more and thought that it was because some of the installed files had been modified. I concluded that when the MSI ran the second and subsequent times it was overwriting the modified files with the original ones from the installer.
由于这些文件打算在安装后进行修改,因此我在其Component定义中添加了"NeverOverwrite ="yes"",如下所示:
Since these files were intended to be modified after install, I added 'NeverOverwrite="yes"' to their Component definition as in:
<Component Id="..." NeverOverwrite="yes" Directory="..." Guid="...">
这似乎可以解决问题,直到现在.有什么想法我应该考虑或进一步调查吗?
This seemed to solve the problem until now. Any ideas what I should be looking at or investigating further?
推荐答案
简短答案 :这是一个MSI自修复问题.
Short Answer: This is an MSI self-repair problem.
- 计算出触发自我修复的组件.详细信息如下.
- 通过更改设置以消除冲突情况来纠正情况.
自我修复 :这是MSI常见的经典" 意外自我修复 "问题当满足某些条件时打包.关于这个问题,我已经写了很多次了,我将重复一些答案.我认为最容易获得的答案可能是以下两个(请至少阅读第一个链接):
Self-Repair: This is the classic "unexpected self-repair" issue often seen with MSI packages when certain conditions are met. I have written about this issue so many times that I will recycle some answers. I think the most accessible answers might be these two (please read at least the first link):
使用事件日志进行调试 :要确定哪个MSI组件触发了自我修复,您需要通过检查事件日志进行调试.这由 Stefan Kruger的FAQ条目 描述:没有明显的原因,Windows Installer意外启动.或者阅读 Flexera的文章 :
Debugging Using Event Log: To determine what MSI component triggered the self-repair you need to debug by inspecting the Event Log. This is described by Stefan Kruger's FAQ entry: Windows Installer launches unexpectedly, for no obvious reason. Alternatively read Flexera's Article: Understanding Windows Installer (MSI) Self-Repair (features nice screen shots).
组件和放大器;产品 :当您拥有有问题的组件GUID时,可以通过运行以下VBScript来确定其所属的产品:查找组件产品.可能是另一种产品-如果不只是打开产品的MSI文件并找到组件的密钥路径.
Components & Products: When you have an offending component GUID, you can determine what product it belongs to by running this VBScript: Look Up Products for Component. It could be another product - if not just open your product's MSI file and find the component's key path.
详细信息 :非常深入的答案以及完整的说明.请尝试使用粗体的第三个链接来解决实际问题:
Full Details: And the very in-depth answers with full explanations. Try the bolded third link for practical issues:
其他资源 :
Other Resources:
这篇关于Wix工具包-MSI安装程序-启动已安装的应用程序时,窗口的弹出窗口不断出现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!