gpt4 book ai didi

biztalk - 在BizTalk中,为什么要同时导入和安装MSI文件?

转载 作者:行者123 更新时间:2023-12-04 05:05:07 26 4
gpt4 key购买 nike

我正在一个BizTalk项目上,不了解需要安装(双击)和导入(使用biztalk管理控制台)的原因。

我有一个BizTalk项目,我向其资源添加了绑定(bind),并导出了一个msi文件。现在,我想在另一台服务器上安装该应用程序。

据我所知,这是MSI安装的作用:

  • 将文件复制到文件系统
  • 将程序集注册到GAC
  • 将应用程序添加到添加/删除程序applet

  • 但是,这是我的问题:
  • 使用msi安装不会将应用程序添加到Biztalk管理控制台中。我们需要导入msi。
  • 使用msi卸载不会从GAC中删除程序集。它只会删除复制到文件系统中的文件。是否可以通过卸载来删除GAC程序集?
  • 如果我仅导入MSI,则可以启动biztalk应用程序,并且看起来运行良好。结合问题1和问题2,为什么完全需要MSI?我可以看到仅导入不会将其添加到GAC中,因此,如果其他应用程序依赖它,它们将无法正常工作。

  • 我确定我缺少msi提供的功能/配置,但是有人可以帮助我理解为什么需要同时安装msi和将其导入到biztalk中,以及为什么在取消安装时不能完全卸载它已安装的所有内容吗?

    最佳答案

    部署BizTalk解决方案时,需要执行两项操作。

    为什么部署BizTalk解决方案需要两步操作?

  • 将BizTalk解决方案注册到BizTalk管理数据库
  • 将BizTalk工件和依赖项安装到文件系统

  • 首先,组成您的解决方案的BizTalk程序集必须注册到BizTalk管理数据库。这将使BizTalk知道可用的架构, map ,管道和业务流程。

    这是通过将Windows Installer程序包导入BizTalk来完成的。

    请记住,典型的BizTalk平台通常由许多物理服务器组成。但是, BizTalk Group中的所有服务器共享一个BizTalk管理数据库。

    因此, 整个BizTalk组只需执行一次导入操作。

    其次,已注册到BizTalk的BizTalk程序集需要实际存在于某个地方。因此,必须将它们安装到文件系统。

    通过双击Windows Installer程序包来完成此操作。

    请注意,需要在BizTalk组中的任何物理服务器上重复 安装操作。而且,由于BizTalk管理数据库中只有一个定义是解决方案中包含哪些程序集,因此可以解释为什么必须将BizTalk程序集安装到全局程序集缓存(GAC)中。

    注意,到目前为止,规则很简单:
  • 必须在BizTalk组中每台服务器上的GAC中安装BizTalk程序集
  • 一次必须将BizTalk程序集导入(或注册)到BizTalk管理数据库中。

    但是,我们只处理了BizTalk程序集。此两步操作未涵盖BizTalk解决方案在运行时所需的所有其他程序集或其他依赖项(业务规则定义,COM对象,绑定(bind),配置文件等)。

    跨环境部署

    但是,当解决方案运行时,这些依赖项也必须适本地出现在每个BizTalk服务器上。

    这就是为什么大多数人工制品也都注册到BizTalk管理数据库中的原因。但是这一次,这样做只是为了在创建BizTalk解决方案的Windows Installer程序包时引入依赖项,以便可以在目标服务器上适本地安装这些依赖项。

    为什么在卸载时未从GAC中删除BizTalk程序集?

    作为一般经验法则,assemblies that are registered to the Global Assembly Cache are considered shared resources。因此,出于安全原因,在卸载时不会从GAC中删除BizTalk程序集。考虑当一个以上的应用程序使用自定义BizTalk管道时会发生什么。在这种情况下,BizTalk管道必须是单独的通用BizTalk应用程序的一部分。卸载此共享的BizTalk应用程序将破坏所有其他依赖此管道的应用程序...

    使用adding resources to the BizTalk Management Database时,您可以选择在导入时或在安装时将程序集安装到GAC。我强烈建议不要使用“GacOnImport”功能,该功能在大多数典型的多服务器BizTalk组中没有意义。

    但是,对于Windows Installer程序包,有一种更轻松,最灵活的方法来定制可以对BizTalk程序集或其他依赖项执行的操作。这是使用Pre Processing and Post Processing Scripts完成的。

    这些脚本允许在导入/安装操作期间的四个特定时间运行任意应用程序。
  • 导入
  • 之前
    导入后的
  • 安装
  • 之前
    安装后的


  • 如果要在卸载时从GAC中删除程序集,只需在操作的“安装前”阶段安排适当的命令行即可。

  • 关于biztalk - 在BizTalk中,为什么要同时导入和安装MSI文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904264/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com