目前我正在开发一个使用MSI软件包部署的项目。要修补程序,我们只需部署另一个与MSP相对的MSI安装程序包。这是一种有效/高效的方法,还是我们应该部署MSP补丁包?我有MSI的经验但不是MSP。我还将如何创建MSP补丁?我在互联网上搜寻,似乎找不到任何东西。
提前致谢!
答案 0 :(得分:11)
修补非常复杂且难以使用,如果您不遵循正确的MSI实践,则非常不可靠。
我只在必须使用它才能实现无法以任何其他方式提供的修复。 示例是指产品的卸载顺序中断,以便卸载无法完成,但会进入回滚状态。然后我通过次要升级修补来修复已安装产品中的错误,然后将其卸载。我用这种方式制作的大多数补丁都是用 Wise Package Studio 制作的 - 而且效果很好。
我还使用修补程序为已发布的产品提供非常小的修补程序。通常只有一个或两个文件,其中包含一些紧急修补程序。任何复杂的软件版本可能在主要版本发布后几周内迫切需要这样的补丁,因为在野外发现了紧急问题并且需要快速修复。这是为了防止最终用户的大量下载。在这些情况下,我总是启用“包含整个文件”,以防止出现容易出错的位级修补。
许多人希望使用修补程序向QA测试人员提供小型每日更新。 忘记了。除非你的测试人员在海外,否则不值得冒这个风险,当然也不值得努力,几乎没有任何时间。如果您确实需要为QA测试人员进行修补,请不要使用位级修补,因为如果他们在安装文件夹中弄乱了这将会失败 - 这可能是优秀的QA测试人员。
如果您需要为已发布的产品制作补丁,请确保充分利用任何可用的QA测试人员,并让他们在不同平台上进行修补,从不同版本,不同语言等升级...做对很难。也可以不使用补丁来定位太多的先前版本,因为这会使事情变得很复杂。
总体而言:请记住patching is designed for hotfixing。如果您正在研究修补产品的使用,那么链接的文章可能值得一读。它有点乱,但描述了几个MSI修补障碍。
答案 1 :(得分:10)
选择取决于您,尽管MSP提供的文件较小,这对大型项目有利。特别是,this MSDN article说:
通过提供Windows Installer修补程序而不是更新产品的完整安装包来维护应用程序可能具有优势。补丁可以包含整个文件,也可以只包含更新部分文件所需的文件位。这可以使用户下载比整个产品的安装包小得多的升级补丁。使用修补程序的更新可以通过升级保留用户对应用程序的自定义。
This page提供有关使用MSIMSP
实用程序生成MSP补丁文件的建议,该文件包含旧的和新的MSI包。