locked
Deploying the Enterprise Library in production RRS feed

  • Question

  • User-1355649840 posted
    For reasons which may never be clear to me, I ran into this little gotcha when attempting to deploy Microsoft's Enterprise Library on a production server (thankfully, just for system testing and not actually going live).

    It turns out that some features of the Enterprise Library (such as the instrumentation) only install (using InstallServices.bat) as long as you have Visual Studio installed on the system. I have to tell you, I was floored. How can you deploy these "best practices" to a production server when there is almost no way that Visual Studio is installed there? And what if your site is hosted somewhere else? I can envision how that conversation would go with your hosting provider...

    But, there are solutions. Smile

    One is to compile the library dll's without the instrumentation. But what if you want the instrumentation (as I did)?

    You're in luck. It turns out that the batch file that installs all of the instrumentation and library DLLs makes use of a program (installutil.exe) that is also available in the .NET Framework. Why MS chose to use the VS version instead of the Framework version is beyond me, but after spending all day on this, I'm not in a forgiving mood.

    So I rewrote their batch file, InstallServices.bat, and changed the name to DeployServices.bat. This file is available from my web site:

    http://www.noonanconsultinginc.com/miscfiles/DeployServices.zip

    Installation instructions:
    • Copy the Enterprise Library \bin folder to a folder on the server where you want to deploy (i.e. C:\entlib)
    • Copy the DeployServices.bat file into the same folder (required)
    • Run the DeployServices.bat file from the server's console or a terminal session.
    I hope this saves you some headaches.

    Wednesday, May 4, 2005 10:59 AM

All replies

  • User952890750 posted
    Thanks for the info.  If i have the application block dlls referenced in my VS project and the copy local property set to true, don't I need to copy the EPL dlls to the bin folder of my application? 

    Thanks.
    Monday, June 6, 2005 9:11 AM
  • User-1355649840 posted
    I usually do, but the problem was they wouldn't load because the performance counters were not installed, and I didn't want to recompile the libraries without them. The above process will get you through that.
    Tuesday, June 7, 2005 9:38 AM
  • User-800610925 posted

    Thanks! That worked.

    Couldn't find instructions anywhere on MSDN.

    Tuesday, July 19, 2005 4:38 PM