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

Reply via email to