当我将应用程序部署到 BizTalk 服务器时,我们会部署到测试计算机,添加所有必要的资源,然后导出在生产服务器上导入的 MSI(我们有两个)。有一天,我注意到我们的生产服务器上有数十个文件夹,它们似乎是每个开发人员源代码位置的副本。

例如:

  • C:\开发\MyProject1
  • C:\Projects\SomeProject
  • C:\Users yan\我的文档\Visual Studio 项目\另一个项目
  • 好多其它的

它们都是我们部署到 BizTalk 的项目,文件夹不包含源代码,只是每个 BizTalk 项目的“Deployment”文件夹,其中包含 DLL 文件。但是,我认为 MSI 包将 DLL 文件添加到 GAC,或者至少将它们放入 MSI 安装目标文件夹中(所有 MSI 文件都安装到“C:\Biztalk\ProjectName”)。

有人可以在这里阐明一些情况吗?这些额外的副本可以安全删除吗?这会阻止我的 BizTalk 应用程序继续运行吗?

有帮助吗?

解决方案

(我刚刚重读了你的问题,发现我的答案可能需要更多背景信息。在下次部署之前,请让开发人员按照以下步骤操作,这样您就不会得到您在问题中提到的文件夹。)

您可以控制安装文件夹 - 您只需使用 BizTalk Administrator 更改资源的目标位置即可。您还可以控制 GAC 中的安装。

使用以下步骤修改安装文件夹(内容安装在用户运行 MSI 时指定的文件夹中):

  1. 在 BizTalk 管理器中,在应用程序的资源文件夹下,查看源位置和目标位置列下的值 - 您将看到系统上存在的文件夹和驱动器号。
  2. 对于列表中的每个项目,右键单击并选择 调整
  3. 改变 目的地地点 - 位置的路径部分 - 到 **%BTAD\_InstallDir%** (包含 % 符号并使用反斜杠字符 ( \ ) 将最后一个 % 与文件名(可能是 DLL)分隔开。因此,完成后,它可能看起来与此类似:**%BTAD\_InstallDir%**\MyStuff.DLL
  4. 导出您的应用程序
  5. 在目标系统上运行 MSI - 东西会安装在用户运行 MSI 时指定的文件夹中

这就是解决方案的本质—— 我上个月巧合地写了一篇关于此的简短博客文章.

其他提示

在您重新部署之前我不会删除它们。BizTalk 会记住资源最初添加到资源元数据源的位置。为了生成 MSI,您应该从生产服务器上您希望它们驻留的位置添加资源。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top