1

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

例如:

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

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

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

4

2 回答 2

2

(我只是重新阅读了您的问题,发现我的回答可能需要更多上下文。在您下次部署之前,让开发人员按照以下步骤操作,这样您就不会得到您在问题中提到的文件夹。)

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

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

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

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

于 2009-09-01T16:34:50.373 回答
2

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

于 2009-08-25T21:11:22.203 回答