Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在某些计算机上,“Windows Installer”会再次从运行程序时加载的C程序中检索_C#_Windows_Installation_Windows Installer_Setup Project - Fatal编程技术网

C# 在某些计算机上,“Windows Installer”会再次从运行程序时加载的C程序中检索

C# 在某些计算机上,“Windows Installer”会再次从运行程序时加载的C程序中检索,c#,windows,installation,windows-installer,setup-project,C#,Windows,Installation,Windows Installer,Setup Project,我已经使用VSI_bundle.exe打包了一个C应用程序,当它安装在某些PC上时,尝试运行该应用程序时会出现以下消息 Windows安装程序>>> Windows正在配置产品名称,请稍候 然后应用程序将正常运行,但当我关闭并再次打开它时,我再次遇到同样的情况。我怎样才能解决这个问题 消息对话框表示已安装的产品正在维修,因为它已损坏,与首次安装时不同。Windows事件日志应用程序将有一个MSInstaller条目,说明缺少的产品代码和组件 Windows Installer的一项功能是修复删除

我已经使用VSI_bundle.exe打包了一个C应用程序,当它安装在某些PC上时,尝试运行该应用程序时会出现以下消息

Windows安装程序>>> Windows正在配置产品名称,请稍候


然后应用程序将正常运行,但当我关闭并再次打开它时,我再次遇到同样的情况。我怎样才能解决这个问题

消息对话框表示已安装的产品正在维修,因为它已损坏,与首次安装时不同。Windows事件日志应用程序将有一个MSInstaller条目,说明缺少的产品代码和组件

Windows Installer的一项功能是修复删除的已安装项目,因此如果应用程序更改或删除文件或注册表项,Windows将希望重新安装它们。这与访问程序和功能并对产品进行维修是一样的

修复它取决于它修复的原因。例如,应用程序是否正在删除文件或注册表项,如果是,原因是什么

有时,人们在安装MSI时将DisabledVTShortcuts设置为1,以阻止快捷方式进行修复,但这并不能阻止所有修复,并且可能掩盖了应用程序正在删除所需文件的事实


检查事件查看器中与windows installer相关的消息。大多数情况下,它会显示触发Phil提到的修复的组件。使用此GUID并搜索安装程序或使用InstEd之类的工具!打开MSI并在components表中搜索guid

正如其他人所指出的,这似乎是Windows安装程序的自我修复或弹性问题

通过一篇关于链接主题的优秀赛门铁克文章启动应用程序将触发MSI的关键路径检查,以确定您的产品是否正确安装。在此过程中,会发现差异,并触发自修复以安装缺失的内容

在某些情况下,这种差异无法通过自我修复来解决,然后继续徒劳地重复。基本上,您需要确定导致差异的组件,从而触发修复

也许你可以先试试斯特凡·克鲁格的msifaq,它简明扼要

关于自我修复,我已经写了太多次了,其中一个简短的答案可能是:

为便于将来参考,我提供了一些有关Windows Installer自我修复或恢复主题的链接:

自我修复的全面解释,详细且全面: 以解决方案为中心的自我修复描述,试图找到现实世界的解决方案: 开发人员的自我修复问题,首先避免问题:也许也可以尝试一下这个,应该是专门为开发人员编写的快速阅读和编写的。
这将表明配置/安装没有完成,您应该阅读日志