我使用VSI_bundle.exe打包了一个C#应用程序,当它安装在某些PC上时,尝试运行该应用程序时出现以下消息。
Windows Installer >>>“请稍候,Windowsconfiguration(产品名称)”
然后,应用程序将运行良好,但是当我closures并重新打开时,我再次遇到同样的情况。 我怎样才能解决这个问题?
正如其他人指出的,这似乎是Windows Installer自我修复或“弹性”问题。
通过“ 广告快捷方式 ”启动您的应用程序(赛门铁克链接主题的文章)将触发您的MSI的关键路径检查 ,以确定您的产品是否安装正确。 在这个过程中,会发现一个差异,并引发一个自我修复来安装缺少的东西。
在某些情况下,这种差异不能通过自我修复来解决,而是一直徒然重复。 从本质上讲,您需要确定哪些组件导致差异,从而触发修复 。
也许你可以先尝试一下Stefan Kruger的msifaq,但是很简洁 : Windows Installer意外启动,原因不明 。
我已经写了很多次自修,其中一个较短的答案可能是这样的: 为什么MSI安装程序重新配置,如果我删除一个文件?
为了将来的参考,我将包含一些有关Windows Installer自我修复或“弹性”主题的链接:
消息对话框表示已安装的产品由于损坏而正在修复,与首次安装时不一样。 Windows事件日志(应用程序)将有一个MsiInstaller条目说有关ProductCode和缺少的组件。
这是Windows Installer的一项功能,它可以修复已删除的已安装项目,因此如果应用程序更改或删除文件或注册表项,则Windows将希望重新安装它们。 这就像去程序和功能,并对产品进行修复一样。
修复它取决于它为什么修复。 例如,应用程序是否删除文件或注册表项,如果是的话,为什么?
有时候,人们安装MSI的DISABLEADVTSHORTCUTS设置为1,以防止快捷方式进行修复,但是这不能阻止所有的修复,并且可能掩盖了应用程序正在移除所需文件的事实。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa368297(v=vs.85).aspx
检查您的事件查看器的Windows安装程序相关的消息。 大多数情况下,它会显示触发修复的组件ID,菲尔提到。 采取这个GUID和搜索您的安装程序或使用像InstEd工具! 打开MSI并搜索组件表中的GUID。