在 biztalk deploy 期间不需要通过控制台导入 msi

During biztalk deploy when it is not requred to import msi via console

允许哪些 BizTalk 应用程序、编排、架构、映射更改不强制通过管理控制台导入 MSI 而只在 GAC 中安装 DLL?

通过控制台强制导入以停止 ochiestration 和终止实例,但在 GAC 中安装只需要重新启动此应用程序的主机。因此,有时不停止生产环境中的所有内容会很方便。

这是一个非常开放的问题,答案很大程度上取决于您所做的改变。以下是您应该考虑的项目列表:

  1. 大多数情况下,无需将 MSI 导入 BizTalk 即可完成对现有工件的微小更改,例如编排代码/.net 更改、管道组件、映射或架构更改。在这些情况下,只需安装 MSI 并重新启动主机即可。
  2. 在某些情况下,您可以只添加特定资源而不是导入整个 MSI。例如,如果您要添加一个新管道,只要您有单独的管道程序集,您就可以只添加管道程序集作为资源来使用新管道。您可以用同样的方式管理其他工件。 BizTalk 还支持 side by side 部署程序集。做到这一点的关键是在单独的程序集中有工件
  3. 如果以上任何一项都不起作用,请考虑完全导入。

无论您选择哪种部署方法,都必须在您的开发、质量检查环境中测试相同的方法,并在生产环境中执行之前发现任何问题。

希望对您有所帮助。 BizTalk deployment上还有其他link,可以参考。

支持:从不。

您必须始终正确部署 BizTalk 应用程序。这与 BizTalk 无关,所有平台都有不同的部署过程。

开发期间:Helper 类和内部对架构和地图的更改通常可以整合进来。没有任何变化任何工件的签名。 Orchestrations 永远不会被集成,因为结构被 Tracking 使用,并且即使内部更新也可以微妙地改变。

如果您只是在生产环境中对 DLL 进行 GAC 而未将其导入 BizTalk,则存在很大的风险。

  1. 如果您在下一次部署中从 Prod 生成备份 MSI,它将包含 BizTalk 数据库中的旧 DLL,而不是 GACced 版本。这可能意味着如果您必须使用该 MSI 回滚,您将丢失您的补丁。当另一家公司的某人打了补丁时,我们遇到过这种情况,不仅如此,还没有将更改签入源代码控制,这就是为什么我们不得不首先回滚,因为该更改不在发布包中.

  2. 部署后不得不回滚的另一种情况是您使用了之前用于部署的MSI(预补丁)而忘记重新应用补丁。这同样会给您带来问题。

  3. 如果出现问题并且 BizTalk 中的架构或映射与 GACced 版本不匹配,那么诊断任何问题都会变得更加困难。

总而言之不要这样做,而是进行适当的部署包,而不是从构建服务器生成的包(因此最终只会部署源代码管理中的内容)。