Question

If I deploy a BizTalk application from within Visual Studio using the "Deploy Solution" menu option, the DLL goes into the GAC.

But if I create a MSI by using the BizTalk admin console, remove all traces of the application and DLL, and then import and install via MSI, there is a copy in the GAC, and another copy in the selected install directory.

The excellent post ... In BizTalk why is an MSI file both imported and installed? ... details why there is the two steps to both import and install the MSI, but not why there is the additional copy of the DLL.

So why is there the second copy of the DLL?

Was it helpful?

Solution

The technical answer is because you have both an "Add to the global assembly cache ..." option checked and the Destination location option set on the Resource's properties in BizTalk Administrator.

The first puts a copy in the GAC. The second puts a copy in the install folder.

If you don't want the copy in the install folder, set Destination location to blank.

Why does it default this way? It's pretty much a standard .Net practice. BizTalk itself installed a lot of assemblies on both Program Files and the GAC. Some though are GAC only, I don't know the exact reason.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top