Hi Mark and others, Hope you forgive me the delay in returning to this subject....
Though the document is generally useful, it didn't answer my questions. The document is rather thin on the subject of when to use the GAC. It just says that I should put shared assemblies in the GAC. When exactly following that rule, the assemblies from the categories A through C are shared and need to go in the GAC. Customizations most likely also introduce assemblies that are shared among several in-house developed applications, causing virtually all assemblies to end up in the GAC. Is that an advisable direction? A second problem that I see in this approach is the trouble in upgrading developer installations. It's not possible to simple send a DLL and ask to copy it onto the system. You'll have to send it together with all depending assemblies (because of version number dependencies) and this whole cluster needs to be registered in the GAC. DEVPATH would prevent this issue for developers, but DEVPATH is broken. Suggestions and advice are very welcome. Thanks, Bert -----Original Message----- From: Bert Roos [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 22, 2003 10:43 AM To: [EMAIL PROTECTED] Subject: Re: [ADVANCED-DOTNET] Deploying large scale enterprise apps No, I didn't (the MSDN library excludes it when filtering for '.NET framework'). Thanks for pointing at it. I'll come back to this thread once I've read through it. Regards, Bert -----Original Message----- From: Mark Boulter [mailto:[EMAIL PROTECTED] Sent: Friday, April 18, 2003 5:19 PM To: [EMAIL PROTECTED] Subject: Re: [ADVANCED-DOTNET] Deploying large scale enterprise apps Have you read http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/ DALGRoadmap.asp -----Original Message----- From: Moderated discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] On Behalf Of Bert Roos Sent: Friday, April 18, 2003 5:09 AM To: [EMAIL PROTECTED] Hi, I've been reading through the MSDN documents about deploying .NET applications, but I'm still not getting the full picture. How am I supposed to deploy a large-scale enterprise application (e.g. SAP or a beast of comparable size)? Such applications are developed and customized by a large number of parties. I would like to get your advise on this. Such large-scale applications can be divided in the following categories: A) Infrastructure The application vendor will have a number of infrastructure assemblies (for database access, UI components, ...). B) Basic applications A large (geographically distributed) team will develop the application and will most probably deliver a large number of assemblies. C) Add-on applications provided by third-parties A substantial number of parties deliver add-on applications of varying size (potentially with significant numbers of assemblies). D) Customizations and add-ons at the customer site Customers often write their own add-on applications. I have the following questions: 1) Where to put the assemblies of each category. Since the categories A through C are reused/shared, is it logical to put these in the GAC? If not, how do you ensure that everyone can find them? Given the different parties and the number of assemblies, it doesn't practical to put all assemblies in a single directory. 2) How to handle upgrades. The application vendor might distribute patches, which should replace older assemblies. When a new major version of the system is delivered, side-by-side installation _might_ be an option, but it's more common to upgrade the whole system (and convert the database). Does that imply that each successive version of an assembly should come with publisher policy (in a separate assembly, practically doubling the number of assemblies)? Thanks, Bert