12

目前我正在开发一个使用 MSI 包部署的项目。要修补程序,我们只需部署另一个与 MSP 相对的 MSI 安装程序包。这是解决此问题的有效/高效方法,还是我们应该部署 MSP 补丁包?我有过 MSI 但没有 MSP 的经验。我还将如何创建 MSP 补丁?我在互联网上搜寻,似乎找不到任何东西。

提前致谢!

4

2 回答 2

13

修补非常复杂且难以使用,如果您不遵循正确的 MSI 做法,则非常不可靠。

我只在必要时使用它,以实现无法以任何其他方式提供的修复。这方面的一个示例是,如果产品的卸载顺序被破坏,导致卸载没有完成而是进入回滚状态。然后我用一个小的升级补丁来修复已安装产品中的错误,然后卸载它。我以这种方式制作的大部分补丁都是使用Wise Package Studio 制作的——而且效果很好。

我还使用补丁来为已发布的产品提供非常小的修复。通常只有一个或两个带有一些紧急修补程序的文件。任何复杂的软件版本都可能在主要发布几周后迫切需要这样的补丁,因为在野外发现了紧急问题并且需要快速修复。这是为了防止最终用户进行大量下载。在这些情况下,我总是启用“包含整个文件”,以防止众所周知容易出错的位级修补。

许多人希望使用修补程序向 QA 测试人员提供每日小幅更新。算了。除非您的测试人员在海外,否则不值得冒险,当然也不值得付出努力,而且几乎不会节省任何时间。如果您确实需要为 QA 测试人员打补丁,请不要使用位级别的补丁,因为如果他们在安装文件夹中弄乱了,这将失败 - 优秀的 QA 测试人员可能会这样做。

如果您需要为已发布的产品打补丁,请确保充分利用任何可用的 QA 测试人员,并让他们在不同平台上运行补丁,从不同版本、不同语言升级等……这非常困难做对。不针对过多的先前版本使用补丁也是不可取的,因为这往往会使事情迅速复杂化。

总体:请记住,修补程序是为修补程序设计的。如果您正在研究为您的产品使用修补程序,链接的文章可能值得一读。它有点混乱,但描述了几个 MSI 修补障碍。

于 2012-08-29T22:06:04.837 回答
10

选择实际上取决于您,尽管 MSP 提供较小的文件大小,这对于大型项目可能是有利的。特别是,这篇 MSDN 文章说:

通过提供 Windows Installer 补丁而不是更新产品的完整安装包来服务应用程序可能具有优势。补丁可以包含整个文件或仅包含更新部分文件所需的文件位。这可以让用户下载一个比整个产品的安装包小很多的升级补丁。使用补丁的更新可以通过升级保留应用程序的用户定制。

此页面提供了有关使用该MSIMSP实用程序在给定新旧 MSI 软件包的情况下生成 MSP 补丁文件的建议。

于 2012-08-28T12:49:19.507 回答