Wix msp安装在server 2008下失败,但在server 2003下成功

Wix msp安装在server 2008下失败,但在server 2003下成功,wix,windows-installer,patch,msp,Wix,Windows Installer,Patch,Msp,向WIX用户致敬 最近我们的一个补丁遇到了一个奇怪的问题,我真的迷路了。我花了三天时间试图理解这个问题,但仍然一无所获,所以我将我的问题发送给你,希望有人能看到一些东西。它涉及到一个已经有6个成功补丁(.msp)的构建的修补程序7,因此它以前有功能修补程序 当我在windows server 2003上安装该版本并随后安装该修补程序时,一切似乎都安装正确。但是,在server 2008下,安装失败,并显示错误消息: “将修补程序应用于文件C:\Config.Msi\PT1E0D.tmp时出错。它

向WIX用户致敬

最近我们的一个补丁遇到了一个奇怪的问题,我真的迷路了。我花了三天时间试图理解这个问题,但仍然一无所获,所以我将我的问题发送给你,希望有人能看到一些东西。它涉及到一个已经有6个成功补丁(.msp)的构建的修补程序7,因此它以前有功能修补程序

当我在windows server 2003上安装该版本并随后安装该修补程序时,一切似乎都安装正确。但是,在server 2008下,安装失败,并显示错误消息:

“将修补程序应用于文件C:\Config.Msi\PT1E0D.tmp时出错。它可能已通过其他方式更新,无法再通过此修补程序进行修改。”

在查看日志后,它似乎与文件夹bin下安装的dll Coveo.ces.web.search.dll有关(而不是GAC中的副本)。但我的意思是,自从最初安装以来,一切都不应该改变

我认为这是由于使用了windows installer版本(Server2003下为3.0,Server2008下为4.0),但我还没有找到任何支持该版本的软件

我以前曾经遇到过这个错误,这是因为我们在GAC中安装了两个相同的文件,它们相互覆盖,但在这种情况下,第一个修补程序(始终是第二个修补程序)上从未发生过这种情况,并且它不会因系统而异

PCP文件与生成msp的msi非常相似。我将失败的hotfix 7日志与成功安装的hotfix 6进行了比较,我认为dll Coveo.ces.web.search的主要区别在于按时间顺序排列,如果您需要完整的日志,请询问,我很乐意将其发送给您

谢谢你的帮助,
NickL

所以我的问题陷入了人们不知道的晦涩难懂的东西中。。。是 啊于是问题又出现了,类似的事情一开始似乎不相关,因为这是相反的情况。在Server2008系统下安装时,我没有遇到任何问题,但在2003服务器下安装时,我也会遇到同样的问题

“将修补程序应用于文件名时出错。该文件名可能已被其他方法更新,无法再被此修补程序修改。”

我做了一些研究,发现了关于堆栈溢出的悬而未决的问题。糟糕透了

我没有放弃(我没有太多选择),经过几天的研究,我发现了以下几点:

Delta修补程序可能会因此错误而在旧操作系统上失败-它可能已通过其他方式进行了更新,并且无法再通过此修补程序进行修改

它回答了在Server2003下发生故障的问题(我们确实在使用MSI5.0)。手动修复msp后,它工作正常。这是一种痛苦,但它解决了它

那么,当你在阅读时更加注意时,下面是它所说的:

“目标是Vista和更高版本的操作系统。旧版操作系统需要使用早期补丁创建资源创建单独的补丁。使用早期资源创建的补丁在Vista和更高版本的操作系统上也会出现类似问题,超出了本文的范围。”

彻底解决此问题的最佳解决方案是使用整个文件,而不是二进制补丁

所以,如果你遇到类似的问题,我希望这个解决方案能帮助你。 (而且很抱歉,如果我没有找到我自己未回答的问题,我可能永远不会花时间更新它:))


NickL

我已确认并修复了相反的问题。修补程序在Server2003下运行,但在2008下无法运行。