Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
Wix 如何确定导致Windows Installer重复自我修复的原因? 如何仅记录导致Installshield 2008通过“自我修复”重新安装MSI文件的更改 自我修复背后的原因是什么 如何使用Installshield 2008禁用MSI的自修复_Wix_Installation_Windows Installer_Installshield_Resiliency - Fatal编程技术网

Wix 如何确定导致Windows Installer重复自我修复的原因? 如何仅记录导致Installshield 2008通过“自我修复”重新安装MSI文件的更改 自我修复背后的原因是什么 如何使用Installshield 2008禁用MSI的自修复

Wix 如何确定导致Windows Installer重复自我修复的原因? 如何仅记录导致Installshield 2008通过“自我修复”重新安装MSI文件的更改 自我修复背后的原因是什么 如何使用Installshield 2008禁用MSI的自修复,wix,installation,windows-installer,installshield,resiliency,Wix,Installation,Windows Installer,Installshield,Resiliency,自我修复,简单简短的解释: 可供选择的答案 更新: ,也许先试试吧。这个答案的重点是“理解自我修复”,而不是解释消除问题的步骤。您可能还需要阅读此答案的第一部分 意外的Windows安装程序自我修复问题-快速修复? 这篇“文章”越来越大,有些不可读。这是一个新编写的序言-简短的“解决方案版本”,用于修复意外的自我修复(通常在VB6、Visual Studio、MS Office、MS Outlook、AutoCAD等中找到) 如果遇到意外的自我修复,您可以尝试的第一件事是手动创建一个桌面快

自我修复,简单简短的解释


可供选择的答案 更新: ,也许先试试吧。这个答案的重点是“理解自我修复”,而不是解释消除问题的步骤。您可能还需要阅读此答案的第一部分


意外的Windows安装程序自我修复问题-快速修复? 这篇“文章”越来越大,有些不可读。这是一个新编写的序言-简短的“解决方案版本”,用于修复意外的自我修复(通常在VB6、Visual Studio、MS Office、MS Outlook、AutoCAD等中找到)

  • 如果遇到意外的自我修复,您可以尝试的第一件事是手动创建一个桌面快捷方式,直接指向出现问题时启动的应用程序可执行文件。这绕过了最常见的自我修复触发器,广告的快捷方式。如果这样做有效,你的问题就被“解决”(或避免)
  • 如果问题仍然存在,或者您的问题与加载MS OfficeMS Outlook加载项或类似程序(您无法通过快捷方式启动)有关,则您的系统上很可能存在COM注册冲突,并且修复程序涉及的问题更多。最简单的尝试是在相关应用程序的“加载项”对话框中禁用任何不需要的加载项,看看这是否能解决问题
  • 如果仍然看到问题,则通常需要调试正版COM注册冲突(或冲突的文件/MIME关联或命令谓词)。这通常涉及(至少)系统上的两个冲突应用程序,它们在另一个应用程序运行后每次启动时都会“决一胜负”更新注册表(始终启动其中一个应用程序不会触发自修复-在应用程序之间切换时,冲突会出现)。权限问题也可能导致同一应用程序无法更新系统,并通过反复运行自我修复不断尝试。还有更多的可能性,详情如下
    • 真正的修复”是联系两个应用程序供应商,并要求他们对问题进行修复(因为修复通常需要两个供应商MSI的修复),但根据我的经验,这很少成功。尽管如此,还是要尝试一下——因为这是一种帮助所有长期烦恼的人的方法!我个人为银行部署提供了一个修复程序,很高兴在我的软件包中解决了这个问题
    • 要自行调试,您需要使用工具打开系统上缓存的MSI文件,并且需要“破解”数据库-这是一项非常复杂的任务,需要专家技能,如果问题对您的桌面环境非常严重,建议您向安装专家寻求帮助。它可以工作,但不要期待奇迹
    • 有关获取查看和修改MSI文件的工具的更多详细信息,请参阅下面名为“查找自我修复的触发器或罪魁祸首”的部分
“文章”的其余部分深入描述了自我修复问题。除本“简短”部分所述之外,还有许多其他可能导致自我修复的原因


总体问题:开发人员调试和自我修复 Windows Installer是一种部署技术,它的任务是安装指定的文件和注册表设置,并将它们保存在指定的安装位置,并确保它们是正确的版本-自我修复或恢复能力是实现这一目的的一种机制。它的操作与开发人员需要动态交换文件以进行调试、开发和测试相冲突

因此,许多自我修复(弹性)仅仅是由开发人员尝试调试其安装的应用程序和动态热交换文件触发的。有关如何处理此问题,请参阅下文“一些典型的自修复问题场景”中的第2节。在其他情况下,MSI中存在必须纠正的真正的设计错误,或导致自我修复的系统管理缺陷,有时很难找到错误源

我在年写过关于自我修复的文章。对于系统管理员来说,这两个词略有不同,现在阅读它可能比这个长词(针对开发人员)更容易理解。关于stackoverflow,这里还有另一个简短的答案:(这可能是最短的答案,也是最容易理解的答案)。最后我发现了一篇关于自我修复的非常好的文章,作者是瓦迪姆·拉普。这篇文章很值得一读

如果Windows Installer确定要启动的产品已正确安装,则不会进行自我修复。当发生自修复时,需要在系统上更改某些内容以使应用程序正常运行


自我修复的主要原因 下面“一些典型的自我修复问题场景”一节介绍了的详细信息,但作为一个快速的预兆列表-主要原因是:

1。供应商提供的公司MSI文件包装不良或MSI设计缺陷(MSI包本身设计不良,会意外触发各种REA的自我修复