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