使用msp补丁添加丢失的文件

时间:2011-05-23 16:08:48

标签: wix windows-installer installer wix3.5 msi-patch

我创建了一个安装程序,部署到我们的测试环境并由于缺少dll而导致错误(它未包含在wsx文件中)。是否可以创建一个MSP补丁来发送丢失的dll,或者更简单地创建一个全新的安装程序?

我尝试了以下各种示例,但我一直收到此错误:

  

DEBUG:错误2356 :无法在流媒体中找到内阁:media1.cab。

2 个答案:

答案 0 :(得分:3)

补丁可以执行更新的MSI可以执行的任何操作,但它只是一种以更紧凑的方式提供更新的打包和交付机制。因此,您必须实际创建一个全新版本的设置,然后才能将此新更新打包为补丁。

重要提示:在完全升级正常工作之前,不要花时间测试补丁。这完全是浪费时间。它只会产生神秘的错误,是一种非常常见的现实世界时间流失。

除非您之前的设置已经投入生产,因此“在野外”,我不会浪费我的时间补丁。修补程序需要大量时间来创建更多时间来测试 - 有很多增加的风险复杂性,它只是一种方便的方式来提供诸如您描述的内容之类的小更新,而无需分发可能庞大的新MSI文件。使用UAT或QA测试补丁是不常见的,除非您的产品非常庞大并且需要很长时间才能安装。

我个人觉得MSI在修补时完全失败了。它应该是一个易于使用,增值的功能,但它本身已成为一个非常复杂,有问题的问题。

答案 1 :(得分:1)

是的,您可以通过补丁添加丢失的文件。也许这篇文章会有所帮助:http://wix.sourceforge.net/manual-wix2/patch_building.htm

创建补丁时,应始终修改现有的安装程序。您不从头开始创建新安装程序。此外,永远不要从新版本中删除资源。对于补丁,您应该修改或添加资源。

关于错误2356,似乎原始安装以某种方式损坏。您可以在修补旧版本之前尝试修复旧版本。