文件部署在我的 BizTalk 服务器上,位于每个用户的“项目文件夹”中
-
19-09-2019 - |
题
当我将应用程序部署到 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 时指定的文件夹中):
- 在 BizTalk 管理器中,在应用程序的资源文件夹下,查看源位置和目标位置列下的值 - 您将看到系统上存在的文件夹和驱动器号。
- 对于列表中的每个项目,右键单击并选择 调整
- 改变 目的地地点 - 位置的路径部分 - 到 **%BTAD\_InstallDir%** (包含 % 符号并使用反斜杠字符 ( \ ) 将最后一个 % 与文件名(可能是 DLL)分隔开。因此,完成后,它可能看起来与此类似:**%BTAD\_InstallDir%**\MyStuff.DLL
- 导出您的应用程序
- 在目标系统上运行 MSI - 东西会安装在用户运行 MSI 时指定的文件夹中
这就是解决方案的本质—— 我上个月巧合地写了一篇关于此的简短博客文章.
其他提示
在您重新部署之前我不会删除它们。BizTalk 会记住资源最初添加到资源元数据源的位置。为了生成 MSI,您应该从生产服务器上您希望它们驻留的位置添加资源。
不隶属于 StackOverflow