visual-studiobiztalkbiztalk-deployment

Files deployed all over my BizTalk servers, in each user's "Project Folder"


When I deploy applications to our BizTalk server, we deploy to a test machine, add all the necessary resources and then export an MSI that we import on our production servers (we have two). The other day I noticed that there are dozens of folders on our production servers that appear to be copies of each developer's source code location.

For example:

They're all projects we've deployed to BizTalk and the folders don't contain source code, just the "Deployment" folder of each BizTalk project with DLL files in it. However, I thought the MSI packages were adding the DLL files to the GAC, or at the very least, were putting them in the MSI install target folder (all MSI files are installed to "C:\Biztalk\ProjectName").

Can somebody shed some light here? Are these extra copies safe to delete, and will that stop my BizTalk applications in their tracks?


Solution

  • (I just reread your question and see that my answer may need some more context. Before you deploy the next time, have the developers follow the steps below so that you won't end up with the folders you mentioned in your question.)

    You have control over the installation folder - you just need to change your resources' destination using BizTalk Administrator. You can also control installation in the GAC.

    Use the following steps to modify the installation folder (things get installed in the folder that the user specifies when running the MSI):

    1. In BizTalk Administrator, under your Application's Resources folder, review the values under the Source and Destination Location columns - you'll see folders and drive letters that exist on your system.
    2. For each item in the list, right-click and select Modify
    3. Change the Destination location - the path part of the location - to **%BTAD\_InstallDir%** (include the % symbols and separate the last % from the file name (probably a DLL) with a back-slash character ( \ ). So, it might look similar to this when you are finished: **%BTAD\_InstallDir%**\MyStuff.DLL
    4. Export your application
    5. Run the MSI on your target systems - things get installed in the folder that the user specifies when running the MSI

    This is the essence of the solution - I coincidentally wrote a brief blog post about this last month.