首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >:软件更新和热修复

:软件更新和热修复
EN

Software Engineering用户
提问于 2017-09-11 14:15:54
回答 1查看 160关注 0票数 1

我正在寻找一种方式,为客户提供热修复和我的产品补丁。

修补程序可能包含一个或多个热修复程序,并且客户应该能够在更新安装期间从列表中检查/取消对任何热修复(Es)的检查。

每个热修复程序都可能包含以下操作:

  • 添加/删除/替换文件
  • 起止发车(S)
  • 要运行的SQL脚本
  • 删除/写入/更新注册表项
  • 更新配置文件(S)

如何做到这一点有几种选择:

  • 将压缩的所有热修复内容压缩到zip中,并向客户提供如何安装它的适当说明。这不是一个选项,因为安装工程师需要,甚至给产品留下很坏的印象。
  • 使用一些基于Windows安装程序的技术创建安装程序(例如,Wix)。需要很长时间才能创建一个简单的安装程序,需要对Wix框架有很深的了解,等等。
  • 使用Wix 创建补丁特性,它基本上比较了两个MSI,并创建了内容不同的新MSI。看起来是可以接受和有希望的,但似乎无法检测到SQL脚本、注册表项等中的更改。
  • 使用第三方工具。我没有找到任何适当的工具,可以简化热修复创建过程,我不会要求一个,因为我知道这将是非主题在这个网站,但我想提及这个选项的完整性。
  • 编写全新的工具,这将有助于建立热修复MSI。仍然相信一些更好的方法已经存在,因为创建修补程序或修补程序是一项广泛的任务。
EN

回答 1

Software Engineering用户

发布于 2017-09-11 17:29:10

我的建议是:使用您最喜欢的安装程序框架(例如,因为您自己提到了Wix)在应用程序站点部署每个更改的文件,并在MSI包中包括一个“服务器更新工具”(作为可选组件,因为它不需要安装在运行应用程序的每台计算机上,或者可以单独安装在管理员的计算机上)。

更新工具将在安装之后运行,并执行DB服务器迁移。服务器修复或补丁不能通过“自动检测SQL文件之间的差异”来完成,这是我所知道的任何安装程序框架都无法为您完成的任务。相反,您通常需要一系列SQL命令来更改数据库中已经存在的模式和数据。在产品数据库上执行这些迁移命令之前,最好先手动编写这些命令,并进行彻底的测试。

注册表项和本地配置文件的处理方式可能相同:要么更改非常简单,安装程序框架可以为您自动完成更改,要么在单独的工具中包含必要的更新步骤(如果不需要管理权限,则将它们包含在应用程序本身的启动过程中)。

这样,你就能从这两个世界中得到最好的结果:

  • 一组要部署在带有可管理学习曲线的安装程序框架中的文件,当然不是像您所写的“创建一个简单的安装程序”那样的“年龄”。
  • 用您最喜欢的编程语言编写的自己的工具,用于执行hotfix安装的复杂部分(而不是用于“帮助构建热修复MSI”包的工具,我建议的更新工具不需要任何MSI知识)。
票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/357189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档