我创建了一个安装程序,部署到我们的测试环境,但由于缺少 dll(它未包含在 wsx 文件中)而出现错误。是否可以创建一个 MSP 补丁来运送丢失的 dll,还是简单地创建一个全新的安装程序更好?
我尝试了各种示例,但我不断收到此错误:
调试:错误 2356:无法在流中找到机柜:media1.cab。
我创建了一个安装程序,部署到我们的测试环境,但由于缺少 dll(它未包含在 wsx 文件中)而出现错误。是否可以创建一个 MSP 补丁来运送丢失的 dll,还是简单地创建一个全新的安装程序更好?
我尝试了各种示例,但我不断收到此错误:
调试:错误 2356:无法在流中找到机柜:media1.cab。
补丁可以做任何更新的 MSI 可以做的事情,但它只是一种打包和交付机制,以更紧凑的方式交付更新。因此,您必须实际创建一个全新版本的设置,然后才能将此新更新打包为补丁。
重要提示:在完整升级正常工作之前,不要花时间测试补丁。这完全是浪费时间。它只会产生神秘的错误,并且是现实世界中非常常见的时间消耗。
除非您之前的设置已经投入生产,因此“在野外”,否则我不会浪费时间在补丁上。补丁需要大量时间来创建,甚至需要更多时间来测试——这会增加很多风险和复杂性,而且它只是一种方便的方式来交付小型更新,例如您所描述的,而不必分发潜在的更新。巨大的新 MSI 文件。使用补丁进行 UAT 或 QA 测试并不常见,除非您的产品非常庞大并且需要很长时间才能安装。
个人感觉微星在打补丁方面完全失败了。它应该是一个易于使用的增值功能,但它本身已成为一个非常复杂且有问题的问题。
是的,您可以通过补丁添加丢失的文件。也许这篇文章会有所帮助:http ://wix.sourceforge.net/manual-wix2/patch_building.htm
创建补丁时,您应该始终修改现有的安装程序。您不会从头开始创建新的安装程序。此外,永远不要从新版本中删除资源。对于补丁,您应该修改或添加资源。
关于错误 2356,似乎原始安装已损坏。您可以在应用补丁之前尝试修复旧版本。