views:

179

answers:

3

Hi all, I am a beginner in .Net development. I need to ask about .Net winform deployment. If i have 1 exe file, some class libraries, and 3rd party components (DevExpress). Should i install these Dlls (class library and 3rd party component) in the GAC (Global Assembly Cache) in client computers ? Thank you for the explanations.

+1  A: 

IMO, you should avoid installing these libraries into the GAC. By avoiding the GAC, you make your installation process significantly simpler. In fact, it can get so simple that you can simply copy the bits from one computer to another to do the installation (although you might have other installation constraints that would prevent this).

When you make a reference to a third-party library, you can, in Visual Studio, click on the reference and set the Copy Local setting to true. This will copy the library into your bin folder. Third-party libraries will typically install on the developers machine in the GAC, but for deployment you want the system to copy the library into your bin folder.

Thomas
Thank you for your explanation, Thomas.
tkg
A: 

You should be able to do all of this using an Installer Pakage.

Step-by-Step Process of Creating a Setup and Deployment Project

Deploy Windows Applications with Visual Studio.NET

Build Installer Projects for C# Application Deployment

astander
Thank you for the links, i will check it later. TKG
tkg
A: 

It really depends on a few things, but there's a much better explanation and discussion here:

http://stackoverflow.com/questions/2451123/when-should-we-put-an-assembly-into-gac

The verdict (and my personal opinion) is that you never should.

Damovisa
Ok, thank you for your opinition and the link. I will check it. Thanks.
tkg